{"id":384,"date":"2019-09-08T14:47:53","date_gmt":"2019-09-08T12:47:53","guid":{"rendered":"https:\/\/privat.andreas-klingler.de\/itsec\/?p=384"},"modified":"2021-02-28T18:21:44","modified_gmt":"2021-02-28T17:21:44","slug":"rpcinfo","status":"publish","type":"post","link":"https:\/\/infosec.andreas-klingler.de\/?p=384","title":{"rendered":"<span class=\"caps\">RPC<\/span> Remote Procedure Call"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">tcp\/135 udp\/135 \u2014 and as (Microsoft) Remote Pro\u00adce\u00addure Call on tcp\/593 as web service.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Enumeration<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Obtain gen\u00ader\u00adal information<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># rpcinfo -p $target\n# rpcinfo -s $target<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Con\u00adnect. Hint: auto com\u00adple\u00adtion works; <em>enum&lt;tab&gt;<\/em> returns all enum commands.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">rpcclient -U \"\" $target<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Enu\u00admer\u00adate through all <span class=\"caps\">API<\/span> end\u00adpoints with one of the fol\u00adlow\u00ading options.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">python \/usr\/local\/bin\/rpcdump.py $target | tee rpcdump.txt\nmsf &gt; use auxiliary\/scanner\/dcerpc\/endpoint_mapper\nnmap -n -sV -p 135 --script=msrpc-enum $target\ngetArch.py -target $target<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Check if <span class=\"caps\">RPC<\/span> ports allow\u00ading anony\u00admous access<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">msf &gt; use auxiliary\/scanner\/dcerpc\/hidden\n<span data-key=\"e4b8d2e358144bd2be271c71a503aba3\">msf &gt; use auxiliary\/scanner\/dcerpc\/management<\/span>\nmsf &gt; use auxiliary\/scanner\/dcerpc\/tcp_dcerpc_auditor<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/book.hacktricks.xyz\/pentesting\/135-penstesting-wrpc\">See here for a list what the UUIDs&nbsp;mean.<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con\u00adnect direct\u00adly to an end\u00adpoint&nbsp;via<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">rpcclient ncacn_ip_tcp:$target[49672]<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">But in gen\u00ader\u00adal, you can use rpc\u00adclient (see below) to access all end\u00adpoints in a&nbsp;shell.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Enumerate with&nbsp;rpc<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">All users with their password<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">for up in $(cat users_and_passwords.txt); do\n  username=$(echo $up | cut -d ':' -f 1)\n  password=$(echo $up | cut -d ':' -f 2)\n  echo \"$username \/ $password\"\n  rpcclient -U svcorp\\\\$username%$password $target\ndone;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">All users with all passwords<\/p>\n\n\n\n<pre class=\"wp-block-preformatted precode\">for user in $(cat users.txt); do\n  for p in $(cat test_passwords.txt); do\n    echo \"$user \/ $p\"\n    rpcclient -U svcorp\\\\$user%$p $target;\n  done;\ndone;\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Enumeration with Impacket tools<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/andreas-klingler.de\/infosec\/?p=1222\">See the Impack\u00adet&nbsp;post<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Accessing <span class=\"caps\">RCP<\/span> endpoints with rpcclient<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong><span class=\"caps\">RID<\/span><\/strong> Role Identifier<\/li><li><strong><span class=\"caps\">SID<\/span><\/strong> Secu\u00adri\u00adty Identifier<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">First, enter<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">help<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">to see a descrip\u00adtion of avail\u00adable end\u00adpoints on this system.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Endpoint <span class=\"caps\">SAM<\/span> Remote Protocol<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Try Impack\u00adet\u2019s samrdump.py.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enu\u00admer\u00adate local users: Does\u00adn\u2019t seem to be avail\u00adable. But you can use <a href=\"https:\/\/github.com\/trustedsec\/ridenum\"><span class=\"caps\">RID_ENUM<\/span><\/a>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">python3 \/opt\/ridenum\/ridenum.py $target 500 50000 \/usr\/share\/wordlists\/seclists\/Passwords\/Common-Credentials\/best110.txt \/usr\/share\/wordlists\/seclists\/Usernames\/top-usernames-shortlist.txt<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Enu\u00admer\u00adate domain users:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">enumdomusers<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Enu\u00admer\u00adate domain groups:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">enumdomgroups<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Details about an&nbsp;user.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">queryuser &lt;rid&gt;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Details about a&nbsp;group<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">querygroup &lt;rid&gt;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Mem\u00adbers of a&nbsp;group<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">querygroupmem &lt;rid&gt;<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Other endpoints<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted reset-3c756112--codeBlock-75b39b81\"><span data-key=\"f92fdce1d4f542ef975a0d0b7b7fbf75\">enumprivs<\/span><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Sys\u00adtem&nbsp;info<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">srvinfo<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Domain name and domain sid (secu\u00adri\u00adty identifier)<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">lsaquery\n<span class=\"text-4505230f--TextH400-3033861f--textContentFamily-49a318e1\"><span data-key=\"1a9446b3e2f64b998f15c729d0e159b3\">dsenumdomtrusts<\/span><\/span><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Detect net\u00adwork shares<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">netshareenum<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>tcp\/135 udp\/135 \u2014 and as (Microsoft) Remote Pro\u00adce\u00addure Call on tcp\/593 as web ser\u00advice. Enu\u00admer\u00ada\u00adtion Obtain gen\u00ader\u00adal infor\u00adma\u00adtion # rpcin\u00adfo \u2011p $tar\u00adget # rpcin\u00adfo \u2011s $tar\u00adget Con\u00adnect. Hint: auto com\u00adple\u00adtion works; enum&lt;tab&gt; returns all enum com\u00admands. rpc\u00adclient \u2011U \u201c\u201d $tar\u00adget Enu\u00admer\u00adate through all <span class=\"caps\">API<\/span> end\u00adpoints with one of the fol\u00adlow\u00ading options. python \/usr\/local\/bin\/rpcdump.py $tar\u00adget | [\u2026]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"wp_typography_post_enhancements_disabled":false,"footnotes":""},"categories":[323],"tags":[50,105,104,103],"class_list":["post-384","post","type-post","status-publish","format-standard","hentry","category-protocol","tag-enumeration","tag-remote-procedure-call","tag-rpc","tag-rpcinfo"],"_links":{"self":[{"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=\/wp\/v2\/posts\/384","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=384"}],"version-history":[{"count":30,"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=\/wp\/v2\/posts\/384\/revisions"}],"predecessor-version":[{"id":2867,"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=\/wp\/v2\/posts\/384\/revisions\/2867"}],"wp:attachment":[{"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=384"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=384"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=384"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}