实训课第一节
CISAW认证
大学预备级
网络攻防两个角度
第一个就是攻击者角度
第二个就是被攻击者角度
看的内容
看数据内容
看到SSO,single sign on单点登录功能,只要黑客方能模仿被认证的IP地址,再去访问某个地址就不需要登录直接访问数据库。
黑客工具
- 导入肉鸡,在同一个宽带之下,就可以获取信息
- 积分配合短信验证码,伪造基站收验证码
案例
护网
红黑对抗
先踩点,获得丰厚的信息。
单位对外的系统
经验
在防火墙对外端口上,能不开就不开,做到最小化。
WEB端口工具
- sql注入
普遍的网络拓扑
各种云最大的问题:从内往外出的流量几乎不会管。而只管从外面访问里面的流量管得特别严。有些云服务商特别垃圾,要不就全部拒绝,就只能对特定端口进行拒绝,而不能控制对特定端口进行访问。
机房里面的设备还好。
实操:对web服务器进行一次攻防演练
首先是踩点,收集信息
确认好域名,进行端口扫描,查看端口开放情况
模拟环境。同一个局域网下,xp远程连接到kali,扫描ubuntu
先ping一下看看能否正常连接
nmap -sT -sV -P0 -O -n 202.1.160.100,使用这些工具要建立自己的工作表,常用的记住,其它的再去查。
得到端口分析结果
端口扫描防范
防范过程如下,使用iptables
首先登进去,然后查看一下规则
添加规则,首先封禁下icmp访问,iptables会先执行上面的规则,下面的若冲突会直接放弃。
只要能穿过企业布置在外面的防火墙,去拿到内网的一台服务器,就能将所有服务器的内容拿到手。因为内网的服务器一般比较脆弱,因为业务需要。
指纹识别攻击”吗”:没上太懂
netcat(NC工具)做指纹检测攻击实验。瑞士军刀写这个的是超级天才。一般要指定端口
- 指纹识别理论,所以说知道服务器的版本是很重要的
- burp suiteWEB渗透里面最常用的工具,模拟发包
端口上运行着的服务,服务的版本,每个版本都有弱点,不是最新版非常有可能有漏洞,所以说要知道每个端口运行的软件的版本是很重要的,因为这和数据库种记录的每个版本的漏洞一对比,就可以实现高效的一个打击。
一般使用半连接扫描,也就是回复RST扫描
使用namp工具,扫描器之王。
拿到真实的IP地址,有时候是反向代理。
通过域名寻找ip,直接通过IP地址无法用域名访问
freebus看各种安全漏洞
HTTP指纹探测,nc工具获取banner信息
指纹识别工具:HTTprint来签名
上传漏洞利用分析
存在就是高危
解决方式
- 在这个目录的都不能执行
- 严格过滤,不允许上传错误的东西
- 将对外开放的权限设置的极低
存在的条件
绕过技术
修改文件的类型
oo截断博文,构造文件名,上传过滤程序以为是jpg文件,实际上,服务器解析该文件时将其当作php文件交由PHP引擎解释和执行.
获取到web服务器版本之后,可以使用不同版本下已经出现的解析漏洞
这个没看懂
模拟:登录后台,寻找上传点,创建PHP webshell上传php后门,登录后门
上传漏洞监测,开源的企业不会用。无法追责
- 不给用户上传php文件。
- 编写shell文件检查脚本
- 加入计划任务,每个星号分,小时,日,月,周crontab -e 用shell脚本执行一遍。
- 不给用户上传php文件。
系统提权分析
高难度的一步
利用UDEV设备管理器的内核漏洞进行提权
步骤
看不懂的一步
看懂了:其实就是将服务器中的命令行解释这个功能发送到kali的9999端口上,只要kali监听9999端口,就能在kali上操纵web服务器所在的linux,我的推测是方便于后面编译文件,以及添加执行文件。
写run文件配合8572
提权成功,结果返回5555号端口,此时的用户uid=0,超级无敌权限,接下来随便删文件都行了。
后台连接
攻击端连接
反向连接。使用服务器去连接黑客自己的端口。正向连接是很容易查出来的。
后门植入分析
后门检测
使用后门检测
接着上传脚本提权,提高用户权力来删库跑路。
提高到sudo ,id=0的时候最大。
github上有,上传到tmp目录,这个目录容易下的文件夹下面能操作的比较多。执行权限管理得比较松。
udev漏洞
SQL注入
绝对的高危
SQL发生在对方的数据库之上,而且一定有web中间件,不是静态页面,才能搞SQL注入。
- web中间件以为加入的一些指令也是请求,发数据库服务器中去了。请求中,加入一些指令,没有文本化处理。
实践
找SQL注入在哪里
- 人工试
- 使用工具SQLMAP这种工具(装好python环境就行了)扫描windows和linux命令之下有点不同,开始命令有些不同罢了。
寻找注入点,加了个and 1==1没有报错,成功返回数据,此时属于SQL注入。
识别数据库类型(对应的SQL语句不同,SQL语句对应的包围符号一定要成对出现)
- 经典的万能密码漏洞
猜数据库列长度。union 跟的东西一定要跟字段数(列数)匹配,若不报错就是那个字段。
这一招非常之漂亮,前面select由于and 1=2的原因什么都无法显示,而union将前后两张表的信息联合起来,填上1,2之后,相应的表就会天上对应的数字,且一定要和表中的列匹配才有得显示,此时就能同时知道表的列数以及每列的字段分别表示什么。1=2初看不知道什么鸡巴意思,后来发现真尼玛牛逼。
获取数据库版本信息
查看数据库用户
查看数据库名
查看数据库安装路径
查看网站数据库中表名一直查到具体的字段值
获取的密码若是密文,暴力破解(cmd5.com)。
读取文件passwd为用户名信息,shadow为密码。shadow文件权限不够,读不出来的捏。
解决方法
额外查的老师上课装逼不讲明白的名词解释
SSO:单点登录系统
POC
POC,proof of Concept,观点证明。漏洞报告中使用。一段说明或者一个攻击的样例。
EXP。exploit,漏洞利用,对漏洞的利用说明,或者一个演示的漏洞攻击代码,让读者了解漏洞的机理以及利用的方法。
VUL vulnerability。漏洞
CVE common vulnerabilities exposure公共漏洞和暴露。广泛认同的信息安全漏洞会有一个公共的名称。在网址上搜CVE名称(相当于番号),就能找到。
零日漏洞:初体验的漏洞发现。
DMZ 是英文“Demilitarized Zone”的缩写,中文名称为“隔离区”。