Yima

剑未佩妥,出门已是江湖;酒尚余温,入口不识乾坤。

0%

引至kali,web攻防模拟上传渗透,端口扫描

实训课第一节

CISAW认证

大学预备级

网络攻防两个角度

第一个就是攻击者角度

第二个就是被攻击者角度

image-20230710102359531

看的内容

  • 看数据内容image-20230710102532407

  • 看到SSO,single sign on单点登录功能,只要黑客方能模仿被认证的IP地址,再去访问某个地址就不需要登录直接访问数据库。image-20230710103727921

  • 黑客工具image-20230710103849128

    • 导入肉鸡,在同一个宽带之下,就可以获取信息
    • 积分配合短信验证码,伪造基站收验证码

案例

护网

红黑对抗

先踩点,获得丰厚的信息。

单位对外的系统

经验

在防火墙对外端口上,能不开就不开,做到最小化。

image-20230710112503534

WEB端口工具

  • sql注入

普遍的网络拓扑

各种云最大的问题:从内往外出的流量几乎不会管。而只管从外面访问里面的流量管得特别严。有些云服务商特别垃圾,要不就全部拒绝,就只能对特定端口进行拒绝,而不能控制对特定端口进行访问。

机房里面的设备还好。

image-20230711110022013

实操:对web服务器进行一次攻防演练

image-20230710143348548

首先是踩点,收集信息image-20230710144456315

确认好域名,进行端口扫描,查看端口开放情况image-20230710144756866
  • 模拟环境。同一个局域网下,xp远程连接到kali,扫描ubuntu

    image-20230710145410694

  • 先ping一下看看能否正常连接

  • nmap -sT -sV -P0 -O -n 202.1.160.100,使用这些工具要建立自己的工作表,常用的记住,其它的再去查。

    image-20230710150042770

  • 得到端口分析结果image-20230710150512970

端口扫描防范

image-20230710150820527

  • 防范过程如下,使用iptables

    • 首先登进去,然后查看一下规则image-20230710151140553

    • 添加规则,首先封禁下icmp访问,iptables会先执行上面的规则,下面的若冲突会直接放弃。

      image-20230710151429814

    • 只要能穿过企业布置在外面的防火墙,去拿到内网的一台服务器,就能将所有服务器的内容拿到手。因为内网的服务器一般比较脆弱,因为业务需要。

指纹识别攻击”吗”:没上太懂
  • netcat(NC工具)做指纹检测攻击实验。瑞士军刀写这个的是超级天才。一般要指定端口

    • 指纹识别理论,所以说知道服务器的版本是很重要的image-20230710154335851
    • burp suiteWEB渗透里面最常用的工具,模拟发包image-20230710152919368
  • 端口上运行着的服务,服务的版本,每个版本都有弱点,不是最新版非常有可能有漏洞,所以说要知道每个端口运行的软件的版本是很重要的,因为这和数据库种记录的每个版本的漏洞一对比,就可以实现高效的一个打击。image-20230710144938110

    一般使用半连接扫描,也就是回复RST扫描image-20230710145102613

    使用namp工具,扫描器之王。

  • 拿到真实的IP地址,有时候是反向代理。

  • 通过域名寻找ip,直接通过IP地址无法用域名访问

    image-20230710144152991

    freebus看各种安全漏洞

    image-20230710144350854

​ HTTP指纹探测,nc工具获取banner信息

image-20230711181911052

  • 指纹识别工具:HTTprint来签名image-20230711182216322

    image-20230711182228407

上传漏洞利用分析
  • 存在就是高危image-20230710155243374

  • 解决方式

    • 在这个目录的都不能执行
    • 严格过滤,不允许上传错误的东西
    • 将对外开放的权限设置的极低
  • 存在的条件image-20230710155633036

  • 绕过技术image-20230711182354949

    • 修改文件的类型image-20230711182511819

    • oo截断博文,构造文件名,上传过滤程序以为是jpg文件,实际上,服务器解析该文件时将其当作php文件交由PHP引擎解释和执行.image-20230711183506893

    • 获取到web服务器版本之后,可以使用不同版本下已经出现的解析漏洞image-20230711183624367

    • 这个没看懂image-20230711183739563

  • 模拟:登录后台,寻找上传点,创建PHP webshell上传php后门,登录后门

    • RD工具扫描后台

    • SQL注入拿到账号名和密码

    • 上传webshell到后台,如果不筛选上传文件,说明这个系统做得非常垃圾,至少加个扫描文件名,限制后缀为.php的不给上传image-20230711183933563

    • 将某文件夹里面的文件用text执行这个功能取消。也就是要关掉apache的安全加固,将php变成txt来处理。image-20230711102154913

      image-20230711102317636

      image-20230710160136642

    • 暴力破解后台,登进去image-20230710160508616image-20230710160500692

    • 上传之后,就在后台登进去。最好给木马设置密码,不要给别人做了嫁衣。image-20230711102527207image-20230710160646404

    • 搜索配置文件,看看有没有密码写明的数据库。image-20230710161248115这里表示直接网站和数据库在同一个机器上面image-20230710161202125

      还可以远程代码植入

      防范

      image-20230711184101097

      image-20230711184116712

  • 上传漏洞监测,开源的企业不会用。无法追责

    image-20230710161805469

    • 不给用户上传php文件。image-20230710161914015
      • 编写shell文件检查脚本image-20230710162036339
      • 加入计划任务,每个星号分,小时,日,月,周image-20230710162142335crontab -e 用shell脚本执行一遍。image-20230710162238709
系统提权分析

image-20230711184451617

高难度的一步

image-20230711184524480

  • 利用UDEV设备管理器的内核漏洞进行提权image-20230711184657977

    • 步骤image-20230711184741381

      • 看不懂的一步image-20230711185018396

      • 看懂了:其实就是将服务器中的命令行解释这个功能发送到kali的9999端口上,只要kali监听9999端口,就能在kali上操纵web服务器所在的linux,我的推测是方便于后面编译文件,以及添加执行文件。image-20230711192005530

      • 写run文件配合8572image-20230711192214065

      • 提权成功,结果返回5555号端口,此时的用户uid=0,超级无敌权限,接下来随便删文件都行了。image-20230711192300039

后台连接

攻击端连接

image-20230711104902455

image-20230711104921691

反向连接。使用服务器去连接黑客自己的端口。正向连接是很容易查出来的。

image-20230711103910765image-20230711105013155image-20230711105027887

后门植入分析

后门检测

使用后门检测

image-20230711105112683

接着上传脚本提权,提高用户权力来删库跑路。image-20230710162552949

提高到sudo ,id=0的时候最大

github上有,上传到tmp目录,这个目录容易下的文件夹下面能操作的比较多。执行权限管理得比较松。

udev漏洞

SQL注入

  • 绝对的高危

  • SQL发生在对方的数据库之上,而且一定有web中间件,不是静态页面,才能搞SQL注入。image-20230711143418788

    • web中间件以为加入的一些指令也是请求,发数据库服务器中去了。请求中,加入一些指令,没有文本化处理。image-20230711143728149
  • 实践

    • 找SQL注入在哪里

      • 人工试
      • 使用工具SQLMAP这种工具(装好python环境就行了)扫描windows和linux命令之下有点不同,开始命令有些不同罢了。
    • 寻找注入点,加了个and 1==1没有报错,成功返回数据,此时属于SQL注入。image-20230711144741498

    • 识别数据库类型(对应的SQL语句不同,SQL语句对应的包围符号一定要成对出现)image-20230711145108983

      • 经典的万能密码漏洞image-20230711150012705
    • 猜数据库列长度。union 跟的东西一定要跟字段数(列数)匹配,若不报错就是那个字段。image-20230711150148190

      这一招非常之漂亮,前面select由于and 1=2的原因什么都无法显示,而union将前后两张表的信息联合起来,填上1,2之后,相应的表就会天上对应的数字,且一定要和表中的列匹配才有得显示,此时就能同时知道表的列数以及每列的字段分别表示什么。1=2初看不知道什么鸡巴意思,后来发现真尼玛牛逼。

      image-20230711152908506

    • 获取数据库版本信息image-20230711150313125

    • 查看数据库用户image-20230711150324798

    • 查看数据库名image-20230711150335293

    • 查看数据库安装路径

    • 查看网站数据库中表名一直查到具体的字段值image-20230711154353230

    • 获取的密码若是密文,暴力破解(cmd5.com)。

    • 读取文件image-20230711160041549passwd为用户名信息,shadow为密码。shadow文件权限不够,读不出来的捏。

    解决方法

    image-20230711162539182

额外查的老师上课装逼不讲明白的名词解释


SSO:单点登录系统

image-20230711003957630

什么是单点登录?

POC

POC,proof of Concept,观点证明。漏洞报告中使用。一段说明或者一个攻击的样例。

EXP。exploit,漏洞利用,对漏洞的利用说明,或者一个演示的漏洞攻击代码,让读者了解漏洞的机理以及利用的方法。

VUL vulnerability。漏洞

CVE common vulnerabilities exposure公共漏洞和暴露。广泛认同的信息安全漏洞会有一个公共的名称。在网址上搜CVE名称(相当于番号),就能找到。

零日漏洞:初体验的漏洞发现。

image-20230711194740750

漏洞案例

nmap教程

DMZ 是英文“Demilitarized Zone”的缩写,中文名称为“隔离区”。

image-20230711195216391

2分钟看懂DMZ区