<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by hunThub on Medium]]></title>
        <description><![CDATA[Stories by hunThub on Medium]]></description>
        <link>https://medium.com/@hunthubspace?source=rss-51e74803fba2------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*i8Zpc8euxIxH492cYOu0bA.png</url>
            <title>Stories by hunThub on Medium</title>
            <link>https://medium.com/@hunthubspace?source=rss-51e74803fba2------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 00:31:09 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@hunthubspace/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Managing and Modifying URLs in SubScope for Bug Bounty Programs: A Comprehensive Guide]]></title>
            <link>https://medium.com/@hunthubspace/managing-and-modifying-urls-in-subscope-for-bug-bounty-programs-a-comprehensive-guide-667df5ed07ab?source=rss-51e74803fba2------2</link>
            <guid isPermaLink="false">https://medium.com/p/667df5ed07ab</guid>
            <category><![CDATA[automation]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[penetration-testing]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[bug-bounty-tips]]></category>
            <dc:creator><![CDATA[hunThub]]></dc:creator>
            <pubDate>Fri, 18 Oct 2024 05:50:31 GMT</pubDate>
            <atom:updated>2024-10-18T05:50:31.330Z</atom:updated>
            <content:encoded><![CDATA[<h3>Managing and Modifying URLs in SubScope for Bug Bounty Programs</h3><p><strong>Hello everyone!</strong></p><p>In the previous article, you learned how to manage subdomains in <a href="https://github.com/hunThubSpace/SubScope">SubScope</a>, including adding, listing, and deleting them. Now, we will delve into the next crucial step: adding URLs to your database.</p><p>Based on the help page, to perform domain operations (add, list, and delete), we use the url keyword.</p><pre>./subscope.py url -h</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/526/1*Qjop3W5SBuDetc_GV6PbkA.png" /></figure><p>To work with URL, the following setup is required.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*okSV7Wa3M4JD2NebZGShtQ.png" /></figure><p>If you’re unable to create the necessary tables with SubScope, I recommend reading the three articles below for guidance.</p><p><strong>Program Management</strong></p><p><a href="https://medium.com/@hunthubspace/streamlining-your-bug-bounty-projects-adding-and-managing-programs-via-subscope-e394acfdf711">Streamlining Your Bug Bounty Projects: Adding and Managing Programs via SubScope</a></p><p><strong>Domain Management</strong></p><p><a href="https://medium.com/@hunthubspace/effective-domain-management-for-bug-bounty-programs-using-subscope-f74b7a0db428">Effective Domain Management for Bug Bounty Programs Using SubScope</a></p><p><strong>Subdomain Management</strong></p><p><a href="https://medium.com/@hunthubspace/a-deep-dive-into-subdomain-management-using-subscope-43f8653b4593">A Deep Dive into Subdomain Management Using SubScope</a></p><h3>Adding a URL</h3><p>Based on the picture below, I want to add the following URLs with different options into the SubScope tool.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*l3gGchMYzakbzYqnYwHWKg.png" /></figure><pre>./subscope.py url add https://engage.tesla.com engage.tesla.com tesla.com tesla_wk --scheme https --status_code 200 --ip 65.9.95.40 --cname dtw7dea2t4fea.cloudfront --webtech &quot;Amazon CloudFront, Nginx&quot; --content_length 180480<br>./subscope.py url add https://epcapi.tesla.com epcapi.tesla.com tesla.com tesla_wk --scheme https --status_code 404 --ip 104.66.96.56 --cname epcapi.tesla.com.edgekey.net --webtech &quot;Akamai, Varnish&quot;<br>./subscope.py url add https://exec.teslamotors.com exec.teslamotors.com teslamotors.com tesla_wk --scheme https --status_code 200 --ip 172.233.159.31 --webtech Nginx --content_length 7029 --title Login<br>./subscope.py url add https://click.comms.walmart.com click.comms.walmart.com walmart.com walmart_wk --scheme https --status_code 403 --webtech HSTS --content_length 1233<br>./subscope.py url add https://cert-customcards.walmart.com cert-customcards.walmart.com walmart.com walmart_wk --scheme https --status_code 200 --ip 23.2.218.203 --content_length 1719 --title &quot;Program Manager&quot; </pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lVs3Ex3P8Eh_idjpkcK3Qw.png" /></figure><p>We are adding five URLs to the database. There are many options available for specifying a URL, and below is a list of all the options that can be used.</p><ul><li>--scheme: Scheme (http or https)</li><li>--method: HTTP method (GET, POST, …)</li><li>--port: Port number (80, 443, …)</li><li>--status_code: HTTP status code (200, 404, …)</li><li>--scope: Scope (inscope or outscope)</li><li>--ip: IP address</li><li>--cdn_status: CDN status (yes or no)</li><li>--cdn_name: Name of the CDN provider</li><li>--title: Title of the url</li><li>--webserver: Web server type</li><li>--webtech: Web technologies (comma-separated)</li><li>--cname: CNAME of the live subdomain</li><li>--location: Redirect location</li><li>--flag: Specify a flag for the URL (blank, login, default_page)</li><li>--path: Path of the URL</li><li>--content_length: Content length</li></ul><p>Now, we want to make some changes to the added URLs.</p><ul><li>Added IP address and title to <strong>https://click.comms.walmart.com</strong></li></ul><pre>./subscope.py url add https://click.comms.walmart.com click.comms.walmart.com walmart.com walmart_wk --ip 13.111.151.219 --title &quot;403 - Forbidden: Access is denied.&quot;</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*D_7JIQB33ruUobE1QUx8Zg.png" /></figure><p>As you can see, the log indicates that only two options were updated. You can use this feature for continuous reconnaissance.</p><ul><li>Add flag to <strong>https://exec.teslamotors.com</strong></li></ul><pre>./subscope.py url add https://exec.teslamotors.com exec.teslamotors.com teslamotors.com tesla_wk --flag login_page </pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*b7vKUVcxUe7ALvMF_QLlyQ.png" /></figure><p><strong>Note:</strong> Every change you make will update the updated_at column accordingly.</p><h3>Listing URLs</h3><p>I want to list information about a specific URL:</p><pre>./subscope.py url list https://click.comms.walmart.com click.comms.walmart.com walmart.com walmart_wk  </pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/1*JlrJTZzU83RJ5VT4NLkWlQ.png" /></figure><p>To list all URLs associated with <strong>tesla.com </strong>domain, we can use the following command:</p><pre>./subscope.py url list \* \* tesla.com tesla_wk</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/670/1*ozQv9bwCcA4SPCTGOAaalw.png" /></figure><p>Just like what we learned previously, we have several options for filtering the output, including --scheme, --scope, --method, --port, --status_code,--ip ,--cdn_status , --title , --cdn_name , --title , --webserver , --webtech , --cname , --flag --path and --content_length .</p><p>For example, I want to list all URLs with nginx webtech:</p><pre>./subscope.py url list \* \* \* \* --webserver nginx</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/696/1*-CvopaslF0LOJuhF5O2i-g.png" /></figure><p>or for example, all URLs with cloudfront cname</p><pre>./subscope.py url list \* \* \* \* --cname cloud</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/678/1*coINOn59o-IQ3uNeo7LEMg.png" /></figure><p><strong>Note:</strong> You can input only part of a string, and the database will detect and match it.</p><p>Similar to other listing, we also have the --brief and --count options. When you use a filter, these options work as well and return values based on the applied filter.</p><pre>./subscope.py url list \* \* \* \* --status_code 200 --brief<br>./subscope.py url list \* \* \* \* --flag login_page --brief<br><br>./subscope.py url list \* \* \* \* --count<br>./subscope.py url list \* \* \* walmart_wk --count</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/791/1*kEUifgBViHb1vvGJtd-CBw.png" /></figure><h3>Listing URLs based on timestamp</h3><p>We have two columns: created_at and updated_at. The created_at column shows the timestamp when the row was inserted into the database, while the updated_at column indicates the timestamp of the last changes made to the row, such as updates to the IP address, scope, status_code, and so on.</p><p>We have the ability to search for URLs based on the above columns using --create_time and --update_time. for this demonstration, we will use --update_time, but keep in mind that all actions on this filter also apply to --create_time.</p><p>This method is similar to subdomain listing. To review that section, <a href="https://medium.com/@hunthubspace/a-deep-dive-into-subdomain-management-using-subscope-43f8653b4593"><strong>click here</strong></a>.</p><h3>Statistical Filters</h3><p>We have included some statistical options to provide an overview of your assets.</p><pre>./subscope.py url list -h | grep &quot;statistics&quot;</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/664/1*ZNL-XZNbZt3aaQMlOeEcOA.png" /></figure><p>Let’s use some of this options:</p><pre>./subscope.py url list \* \* \* \* --stats-status-code<br>./subscope.py url list \* \* \* \* --stats-cname<br>./subscope.py url list \* \* \* \* --stats-flag</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/738/1*6mj9ifU0rIJQkFJl2503SQ.png" /></figure><p><strong>Note:</strong> When you use a filter, these options also work and return values based on the applied filter.</p><h3>Deleting a URL</h3><p>To delete a specific URL from a domain in a program, you can use the following command:</p><pre>./subscope.py url delete https://epcapi.tesla.com epcapi.tesla.com tesla.com tesla_wk </pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vRfAIbMDgC25XtI_L01EGw.png" /></figure><p><strong>Note:</strong> You can delete all URLs based on various options, such as --scheme, --scope, --method, --port, --status_code, --ip, --cdn_status, --title, --cdn_name, --webserver, --webtech, --cname, --flag, --path, and --content_length.</p><p>Thank you for following along in this article. We hope this guide has provided valuable insights into managing your bug bounty URLs effectively. With the knowledge you’ve gained, you can now confidently add, list, and delete URLs. Stay tuned for the next sections, where we will delve deeper into adding IPs and enhancing your overall experience with this tool.</p><p><strong>Happy bug hunting!</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=667df5ed07ab" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[A Deep Dive into Subdomain Management Using SubScope]]></title>
            <link>https://medium.com/@hunthubspace/a-deep-dive-into-subdomain-management-using-subscope-43f8653b4593?source=rss-51e74803fba2------2</link>
            <guid isPermaLink="false">https://medium.com/p/43f8653b4593</guid>
            <category><![CDATA[penetration-testing]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[bug-bounty-tips]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[automation]]></category>
            <dc:creator><![CDATA[hunThub]]></dc:creator>
            <pubDate>Sun, 13 Oct 2024 13:52:34 GMT</pubDate>
            <atom:updated>2024-10-13T15:29:44.305Z</atom:updated>
            <content:encoded><![CDATA[<h3>A Deep Dive into Subdomain Management in Bug Bounty Using SubScope</h3><p><strong>Hello everyone!</strong></p><p>In the previous article, you learned how to manage domains in <a href="https://github.com/hunThubSpace/SubScope">SubScope</a>, including adding, listing, and deleting them. Now, we will delve into the next crucial step: adding subdomains to your domains in a program.</p><p>Based on the help page, to perform domain operations (add, list, and delete), we use the subdomain keyword.</p><pre>./subscope.py sudomain -h</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/475/1*sRi4OuK6hZR3UH9aRpnxIg.png" /></figure><p>To work with subdomains, the following setup is required.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/653/1*EiZ1KUFc7BIE9ZYPosxZNw.png" /></figure><p>If you’re unable to create the necessary tables with SubScope, I recommend reading the two articles below for guidance.</p><p><strong>Program Management</strong></p><p><a href="https://medium.com/@hunthubspace/streamlining-your-bug-bounty-projects-adding-and-managing-programs-via-subscope-e394acfdf711">Streamlining Your Bug Bounty Projects: Adding and Managing Programs via SubScope</a></p><p><strong>Domain Management</strong></p><p><a href="https://medium.com/@hunthubspace/effective-domain-management-for-bug-bounty-programs-using-subscope-f74b7a0db428">Effective Domain Management for Bug Bounty Programs Using SubScope</a></p><h3>Adding a Subdomain</h3><p>For adding subdomain for <strong>tesla.com </strong>in <strong>tesla_wk </strong>program, we can use following command:</p><pre>./subscope.py subdomain add engage.tesla.com tesla.com tesla_wk</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*VaNkOH0lJ7IvBIxH3GfAQA.png" /></figure><p>Look at the output above — each subdomain has the following options:</p><ul><li><strong>Source</strong>: This indicates where the subdomain was discovered, such as crt.sh, subfinder, etc. You can specify one or multiple sources using the --source &lt;source_1&gt; &lt;source_2&gt;option.</li><li><strong>Scope</strong>: The scope can either be <strong>inscope</strong> or <strong>outscope</strong>. You can define it using the --scope option.</li><li><strong>Resolved</strong>: If a subdomain has been resolved, this option is set to <strong>yes</strong>; otherwise, it is set to <strong>no</strong>. You can specify the resolving status using the --resolved option.</li><li><strong>IP Address</strong>: You can assign an IP address to a subdomain using the --ip option.</li><li><strong>CDN Status</strong>: The IP address may or may not belong to a CDN (Content Delivery Network) range. If the IP address is within the range of a CDN (e.g., Cloudflare), set this option to <strong>yes</strong>; otherwise, set it to <strong>no</strong>. Use the --cdn_status option to specify this.</li><li><strong>CDN Name</strong>: If the IP address is part of a CDN range, you can specify the CDN’s name using the --cdn_name option.</li></ul><p>Let’s update the subdomain mentioned above and add some options to it:</p><pre>./subscope.py subdomain add engage.tesla.com tesla.com tesla_wk --source crtsh subfinder --ip 65.9.95.40 --cdn_status yes --cdn_name cloudfront</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cHF_ykzZ90QidS5XeC92YA.png" /></figure><p>Based on the example above, I will add some subdomains:</p><pre>./subscope.py subdomain add epcapi.tesla.com tesla.com tesla_wk --scope outscope --source subfinder --ip 104.66.96.56 --cdn_status yes --cdn_name akamai<br>./subscope.py subdomain add exec.teslamotors.com teslamotors.com tesla_wk --source subfinder --ip 172.233.159.31<br>./subscope.py subdomain add click.comms.walmart.com walmart.com walmart_wk --scope outscope --source crtsh --ip 13.111.151.219 --cdn_status yes --cdn_name akamai<br>./subscope.py subdomain add cert-customcards.walmart.com walmart.com walmart_wk --source crtsh subfinder --ip 23.2.218.203 --cdn_status yes --cdn_name akamai</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*aai07MNBeE1ZiKN0YZmutA.png" /></figure><p>It’s common for some options of a subdomain to change over time. For example, the IP address of <strong>epcapi.tesla.com</strong> may have changed. the syntax for updating a subdomain is the same as for adding a subdomain.</p><pre>./subscope.py subdomain add epcapi.tesla.com tesla.com tesla_wk --scope outscope --source subfinder --ip 172.233.159.31 --cdn_status no --uncdn_name</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*pW3zPXWVDdHvDopJl2u00g.png" /></figure><p>If you look at the example above, I used the --uncdn_name option to remove the CDN name. Similarly, you can do the same for IP addresses (--unip) and sources (--unsource &lt;source&gt;).</p><h3>Listing Subdomains</h3><p>We have added five subdomains to database based on following scheme:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/713/1*-tPhRulKqv4xNBLLVN9i7Q.png" /></figure><p>I want to list information about a specific subdomain:</p><pre>./subscope.py subdomain list engage.tesla.com tesla.com tesla_wk</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/719/1*2jODyy8fbvaYEw_2O7806g.png" /></figure><p>To list all subdomains associated with <strong>tesla.com </strong>domain, we can use the following command:</p><pre>./subscope.py subdomain list \* tesla.com tesla_wk</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/589/1*zfF8tCvc-uIYznnrK_tEFQ.png" /></figure><p>To list all subdomains for all domains in the <strong>tesla_wk</strong> program, use the following command:</p><pre>./subscope.py subdomain list \* \* tesla_wk</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/469/1*ZZdvWeibpQWEZznrqTDqoQ.png" /></figure><p>You might guess that to list all subdomains in the database, you can use the following command:</p><pre>./subscope.py subdomain list \* \* \*</pre><p>Just like what we learned previously, we have several options for filtering the output, including --source, --scope, --resolved, --cdn_status, --cdn_name, and --ip.</p><p>For example, I want to list all in-scope subdomains without any CDN IPs:</p><pre>./subscope.py subdomain list \* \* \* --scope inscope --cdn_status no</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/688/1*FClGyih38hyNHJABU6O40Q.png" /></figure><p>Or, I want to list all subdomains found via the <strong>crtsh</strong> source:</p><pre>./subscope.py subdomain list \* walmart.com walmart_wk --source crtsh</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/758/1*EHac0--PxsU9yCk7cR7rlQ.png" /></figure><p>We have included an interesting option — --source-only—for explicitly tracking subdomains gathered from a specific source. For example, in the previous command, we found two subdomains identified by crt.sh. Now, I want to display only the subdomains that were found by <strong>crtsh</strong>.</p><pre>./subscope.py subdomain list \* walmart.com walmart_wk --source crtsh --source-only</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/929/1*phymNuF1DUQV-zmTTC30Bg.png" /></figure><p>Similar to domain listing, we also have the --brief and --count options. When you use a filter, these options work as well and return values based on the applied filter.</p><pre>./subscope.py subdomain list \* \* \* --brief<br>./subscope.py subdomain list \* \* \* --count<br><br>./subscope.py subdomain list \* walmart.com walmart_wk --source crtsh --brief<br>./subscope.py subdomain list \* walmart.com walmart_wk --source crtsh  --count</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/940/1*SodB-VQomGSzJ-Kwngl7iA.png" /></figure><h3>Listing subdomains based on timestamp</h3><p>We have two columns: created_at and updated_at. The created_at column shows the timestamp when the row was inserted into the database, while the updated_at column indicates the timestamp of the last changes made to the row, such as updates to the IP address, source, and so on.</p><p>We have the ability to search for subdomains based on the above columns using --create_time and --update_time. for this demonstration, we will use --update_time, but keep in mind that all actions on this filter also apply to --create_time.</p><p>First, let’s list all subdomains in <strong>tesla_wk</strong> that were updated in the year 2024. :)</p><pre>./subscope.py subdomain list \* \* tesla_wk --update_time 2024</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/687/1*CwIb_dYcFhEmD0XOphi5Sg.png" /></figure><p>Let’s narrow the filter and list all subdomains updated at <strong>2024-10-11–14:54</strong></p><pre>./subscope.py subdomain list \* \* \* --update_time 2024-10-11-14:54</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/753/1*OZF_ud0syJ8B3o2GZp_QoQ.png" /></figure><p>You can also apply a filter between two timestamps.</p><pre>./subscope.py subdomain list \* \* \* --update_time 2024-10-11-14:37,2024-10-11-14:50</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/909/1*LEBusowmIHzQFMuV_VPo9w.png" /></figure><h3>Statistical Filters</h3><p>We have included some statistical options to provide an overview of your assets.</p><pre>./subscope.py subdomain list -h | grep &quot;statistics&quot;</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/943/1*UZkWa_oL_AaIILclG-9Ulg.png" /></figure><p>Let’s use some of this options:</p><pre>./subscope.py subdomain list \* \* \* --stats-scope<br>./subscope.py subdomain list \* \* \* --stats-cdn-status<br>./subscope.py subdomain list \* \* \* --stats-source</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/937/1*6-UgmYK93trWKr4kzsvLMg.png" /></figure><p><strong>Note:</strong> When you use a filter, these options also work and return values based on the applied filter.</p><pre>./subscope.py subdomain list \* \* \* --source crtsh --stats-cdn-name</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ksx32OaqLGgsVQN14iiTdQ.png" /></figure><h3>Deleting a subdomain</h3><p>To delete a specific subdomain from a domain in a program, you can use the following command:</p><pre>./subscope.py subdomain delete cert-customcards.walmart.com walmart.com walmart_wk</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*eXZqoK4v7qcjPIfBCYWkoQ.png" /></figure><p>To delete out-of-scope subdomains where their IP range falls within Akamai’s range, you can use the following command:</p><pre>./subscope.py subdomain delete \* \* \* --scope outscope --cdn_name akamai</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_o_c6ht1IH1WgREvF2OGoA.png" /></figure><p>Thank you for following along in this article. We hope this guide has provided valuable insights into managing your bug bounty subdomains effectively. With the knowledge you’ve gained, you can now confidently add, list, and delete subdomains. Stay tuned for the next sections, where we will delve deeper into adding URLs (live subdomains) and enhancing your overall experience with this tool.</p><p><strong>Happy bug hunting!</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=43f8653b4593" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Effective Domain Management for Bug Bounty Programs Using SubScope]]></title>
            <link>https://medium.com/@hunthubspace/effective-domain-management-for-bug-bounty-programs-using-subscope-f74b7a0db428?source=rss-51e74803fba2------2</link>
            <guid isPermaLink="false">https://medium.com/p/f74b7a0db428</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[penetration-testing]]></category>
            <category><![CDATA[automation]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[bug-bounty-tips]]></category>
            <dc:creator><![CDATA[hunThub]]></dc:creator>
            <pubDate>Fri, 11 Oct 2024 15:27:25 GMT</pubDate>
            <atom:updated>2024-10-11T15:27:25.421Z</atom:updated>
            <content:encoded><![CDATA[<p><strong>Hello everyone!</strong></p><p>In the previous part, you learned how to manage programs in <a href="https://github.com/hunThubSpace/SubScope">SubScope</a>, including adding, listing, and deleting them. Now, we will delve into the next crucial step: adding domains to your programs.</p><p>Based on the help page, to perform domain operations (add, list, and delete), we use the domain keyword.</p><pre>./subscope.py domain -h</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/526/1*DYjDCEqAMGMlaXhXqP8_1g.png" /></figure><p>As a reminder, in the previous article, we added two programs: <strong>tesla_wk</strong> and <strong>walmart_wk</strong></p><p><a href="https://medium.com/@hunthubspace/streamlining-your-bug-bounty-projects-adding-and-managing-programs-via-subscope-e394acfdf711">Streamlining Your Bug Bounty Projects: Adding and Managing Programs via SubScope</a></p><h3>Adding domain</h3><p>I want to add three domains to the <strong>tesla_wk</strong> program</p><pre>./subscope.py domain add tesla.com tesla_wk<br>./subscope.py domain add teslamotors.com tesla_wk<br>./subscope.py domain add ts.la tesla_wk</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/898/1*gERXvqd21KwS4StFX6_tPw.png" /></figure><p>Sometimes, you may want to add an out-of-scope domain to your program. In this case, you can use the --scope outscope option to add it. for example I want to add <strong>teslaenergy.services </strong>to tesla_wk program</p><pre>./subscope.py domain add teslaenergy.services tesla_wk --scope outscope</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/950/1*9bOBvuuYfO3r0MJdd8Vl0A.png" /></figure><p>You may have noticed that the --scope inscope option exists. This option is the default when you do not specify a scope in the command.</p><p>Now, I want to change the scope of one of the domains:</p><pre>./subscope.py domain add ts.la tesla_wk --scope outscope </pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/779/1*xbT1clFjCh4iZ7g9Hal4VA.png" /></figure><p>As you can see, the syntax for changing the scope is exactly the same as that for adding a domain</p><h3>Listing domains</h3><p>We have added four domains to the <strong>tesla_wk</strong> program. Now, I want to list information about a specific domain.</p><pre>./subscope.py domain list tesla.com tesla_wk</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/595/1*xoc06S7E9VG8bQTMLmIlXQ.png" /></figure><p>To list all domains associated with <strong>tesla_wk</strong>, we can use the following command:</p><pre>./subscope.py domain list \* tesla_wk</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/540/1*wbwV54FnGZDge_DM9nvPXQ.png" /></figure><p>Why do the timestamps for the created_at and updated_at columns differ for <strong>ts.la</strong>? The timestamps differ because we changed the scope of <strong>ts.la</strong>. The updated_at timestamp reflects the time when this action was performed, which is useful for tracking changes.</p><p>If you want to list the in-scope domains, you can use the --scope inscope option to list these domains.</p><pre>./subscope.py domain list \* tesla_wk --scope inscope</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/658/1*69Lsgcg4X-jMJrU7YlOmsA.png" /></figure><p>To list out-of-scope domains, you can use the --scope outscope option.</p><p>As a reminder, in the program section, we have two options: --brief for listing only the names of the domains, and --count for returning the total count of domains.</p><p><strong>Note:</strong> When you use a filter (in this case, --scope), these options also work and return values based on the applied filter.</p><pre>./subscope.py domain list \* tesla_wk --brief<br>./subscope.py domain list \* tesla_wk --count<br><br>./subscope.py domain list \* tesla_wk --scope inscope --brief<br>./subscope.py domain list \* tesla_wk --scope inscope --count</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/742/1*ohjWeEQuA6pNzmNCvVu2JQ.png" /></figure><p>You can perform above actions on all domains across all programs by simply using an asterisk (*) instead of <strong>tesla_wk</strong>.</p><pre>./subscope.py domain list \* \* --scope inscope --brief</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/674/1*xxsEDD9fRbps3zgKYL1fKg.png" /></figure><h3>Deleting a domain</h3><p>To delete a specific domain from a program, you can use the following command:</p><pre>./subscope.py domain delete ts.la tesla_wk</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/890/1*PzDpptjGSJbo8eHHAPNfGw.png" /></figure><p>To delete out-of-scope domains from the <strong>tesla_wk</strong> program, you can use the following command:</p><pre>./subscope.py domain delete \* tesla_wk --scope outscope</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/777/1*eZjpWfO6h4BKGDX4jwSHfg.png" /></figure><p>You can perform the above actions on all domains across all programs by using an asterisk (*) instead of <strong>tesla_wk</strong>. The following command will delete all domains from all programs:</p><pre>./subscope.py domain delete \* \*</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/763/1*DigxXyKRwUwelqePpSxllA.png" /></figure><p>Thank you for following along in this article. We hope this guide has provided valuable insights into managing your bug bounty domains effectively. With the knowledge you’ve gained, you can now confidently add, list, and delete domains. Stay tuned for the next sections, where we will delve deeper into adding subdomains and enhancing your overall experience with this tool.</p><p><strong>Happy bug hunting!</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f74b7a0db428" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Streamlining Your Bug Bounty Projects: Adding and Managing Programs via SubScope]]></title>
            <link>https://medium.com/@hunthubspace/streamlining-your-bug-bounty-projects-adding-and-managing-programs-via-subscope-e394acfdf711?source=rss-51e74803fba2------2</link>
            <guid isPermaLink="false">https://medium.com/p/e394acfdf711</guid>
            <category><![CDATA[automation]]></category>
            <category><![CDATA[bug-bounty-tips]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[penetration-testing]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <dc:creator><![CDATA[hunThub]]></dc:creator>
            <pubDate>Thu, 10 Oct 2024 07:58:00 GMT</pubDate>
            <atom:updated>2024-10-10T14:22:31.612Z</atom:updated>
            <content:encoded><![CDATA[<p><strong>Hello everyone!</strong></p><p>I’m excited to introduce a tool I’ve developed for managing domains, subdomains, URLs, and CIDRs. This tool is inspired by the BBRF (Bug Bounty Reconnaissance Framework) and aims to be a more comprehensive solution for reconnaissance and domain management.</p><p>This article is divided into multiple sections to cover all aspects of the tool. In this part, we will focus on downloading the tool, adding a program, listing programs, and deleting programs. Let’s get started.</p><p>To download this tool, visit my GitHub repository <a href="https://github.com/hunThubSpace/SubScope">here</a> and clone the project.</p><pre>git clone https://github.com/hunThubSpace/SubScope.git &amp;&amp; cd SubScope</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/706/1*xNiv_YHSifTm2wG8xESbOw.png" /></figure><p>You can run the tool with Python, or give it executable permission using chmod.</p><pre>chmod +x subscope.py</pre><p>If you’re using this tool for the first time, it’s recommended to run the application without any parameters. This will initialize and create the database.</p><pre>./subscope.py</pre><p><strong>Note:</strong> If the database has already been created, the above command will not create it again.</p><p>Let’s take a look at the tool’s help page.</p><pre>./subscope.py -h</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/598/1*myeS_jmt9_adPFczbBOjnA.png" /></figure><p>Based on the help page, to perform program operations (add, list, and delete), we use the program keyword.</p><pre>./subscope.py program -h</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/528/1*ZXYflP648fDBzDCAJV-jWQ.png" /></figure><p><strong>So, what is a program?</strong></p><p>A program can refer to a name, such as a company name, that is used to organize your bug bounty projects. For example, if you want to work on two programs in bug bounty — Tesla and Walmart — each with its own domains, subdomains, and other resources, you can separate them by creating distinct programs.</p><h3>Adding Program</h3><p>For this demo, we will add two programs: <strong>tesla_wk</strong> and <strong>walmart_wk</strong>.</p><pre>./subscope.py program add tesla_wk<br>./subscope.py program add walmart_wk</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/693/1*qexcgDKzhkD8eFKqC2p6rQ.png" /></figure><p><strong>Note:</strong> If you attempt to add a duplicate program, the script will generate an error.</p><pre>./subscope.py program add tesla_wk</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/747/1*QWu2PerlJICFFXOHmGnSPg.png" /></figure><h3>Listing programs</h3><p>Now that we have added two programs, you can use the following command to display information about a program:</p><pre>./subscope.py program list tesla_wk</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/595/1*US5qWlmevFmM_bCzIgT0sg.png" /></figure><p>If you use an asterisk (*) instead of a program name, you can list information about all programs.</p><pre>./subscope.py program list \*</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/526/1*McC91hOC9nRDfUDLqO_06g.png" /></figure><p>We have included the --brief option to display only the program names.</p><pre>./subscope.py program list \* --brief</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/601/1*h9pkDhFPUa3hLUaABJ9CGg.png" /></figure><p>At times, you might need to know the total number of programs. To accommodate this, we have included an additional option: --count, which provides the count of all programs.</p><pre>./subscope.py program list \* --count</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/588/1*pFoQegBrnlMUwcgFREWx0A.png" /></figure><h3>Deleting a program</h3><p>As you may recall, we have two programs. To delete a program, you can use the following command:</p><pre>./subscope.py program delete tesla_wk</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/714/1*3WUgeqqZy1cAdR1rJffCYA.png" /></figure><p>If you want to delete all programs, use an asterisk (*) instead of a program name like listing subdomains:</p><pre>./subscope.py program delete \*</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/681/1*JXy0tuhCQlRw2i0TzgmE8Q.png" /></figure><p>I have deleted all programs. To continue the tutorial, I will add two programs again. :)</p><p>I have included an option, --all, for deleting all resources associated with a program, such as domains, subdomains, and more.</p><pre>./subscope.py program delete tesla_wk --all</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*LP8AjoqFn12ri4H9B_p0Tg.png" /></figure><p>Why did we include this option?</p><p>It’s common to want to delete a program along with all its associated resources. For example, if you worked on the Tesla program in bug bounty but no longer wish to continue, you can use this option to delete the program and all related resources.</p><p>If you want to wipe your database of all entries, you can use the following command to delete all programs.</p><pre>./subscope.py delete program \* --all</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WjoFNtEKYavjZOfmUfJj8Q.png" /></figure><p>Thank you for following along in this article. We hope this guide has provided valuable insights into managing your bug bounty programs effectively. With the knowledge you’ve gained, you can now confidently add, list, and delete programs. Stay tuned for the next sections, where we will delve deeper into adding domains and enhancing your overall experience with this tool.</p><p><strong>Happy bug hunting!</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e394acfdf711" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>