WEB安全梳理-操作系統
windows操作系統
一、常用的DOS命令
ipconfig/all 查看IP地址 ipconfig /release 釋放ip ipconfig /renew 重新獲得ip arp -a 顯示ARP緩存的命令,它可以顯示電腦上所有的ARP緩存條目。 whoami 查詢賬號所屬權限 whoami/all 查看sid值 systeminfo 查詢系統以及補丁信息 tasklist /svc 查看進程 taskkill /im 進程名稱(cmd) 結束進程 wmic qfe get hotfixid 查看已安裝過得補丁 ping hostname(主機名) 顯示該機器名的IP net start 查看當前運行的服務 net user 查看本地組的用戶 net session 查看當前會話 net use \\IP\ipc$ password /user:username 建立IPC會話 wmic share get name,path 查看SMB指向的路徑 wmic nteventlog get path,filename,writeable 查詢系統日志文件存儲位置 net use \\IP\ipc$ password /user:username 建立IPC會話 netstat -ano 查看開放的端口 netstat -an | find “3389” 找到3389端口 set 查看系統環境設置變量 net start 查看當前運行的服務 wmic service list brief 查看進程服務 wmic process list brief 查看進程 wmic startup list brief 查看啟動程序信息 wmic product list brief 查看安裝程序和版本信息 wmic startup list full 識別開機啟動的程序 wmic product > pro.txt 查看安裝軟件以及版本路徑等信息,輸出到pro.txt
DOS下的一些文件的簡單操作
1、cd 切換目錄 2、type xxx.txt 查看文件內容 內容太多的時候分頁顯示 more 例如 type xxx.txt | more 3、dir 顯示目錄 -a 瀏覽所有文件 4、del 刪除文件 5、copy con(屏幕) 文件名.擴展名 (意思就是固定屏幕,然后可以一直寫很多東西,不像echo只能寫一行) 6、md 文件夾名字 ----創建文件夾 7、attrib 文件/文件夾 ------改屬性 attrib +h 文件夾 -------隱藏 +是隱藏 -h就是取消 +s 將文件提升為受保護文件 +a只讀屬性 8、fsutil file createnew c:\system.ini 1024000 瞬間在c下面生成一個空文件 這個空文件被填滿N個空格 文件大小409600000 如果和attrib 聯合使用 別人都不知道自己使用空間怎么沒了 9、assos 修改關聯性 比如打開一個txt 默認是記事本打開 我們可以用這個命令更改其關聯性 例如:assoc .txt=exefile 這樣txt后綴的文件都打不開了,因為系統認為他就是一個程序 如果把圖片其他文件一修改 系統就廢了 改回來 assoc .txt=txtfile 其他后綴類似 10、mv 和linux里面的一樣用法 11、copy 要復制的路徑下的文件 復制到那個路徑 12、如果說要拷貝當前電腦的文件到另一臺電腦 copy 文件 \\ip\ 13、ren 舊名 新名
應急小技巧
a、netstat -ano 查看目前的網絡連接,定位可疑的 ESTABLISHED
1、根據 netstat 定位出的 pid,再通過 tasklist 命令進行進程定位 tasklist | findstr “PID” 2、如果找到了可疑進程 通過wmic process get name,executablepath,processid | findstr PID 可以定位到文件所在的目錄
b、一般找到后還是看不見的,因為程序被隱藏了,所以需要attrib -h 文件
3、可以通過copy .\ c:\User\Administrator\Desktop\xxx\ 意思就是可疑程序所在的目錄拷貝到桌面上的XXX文件 4、通過工具將主機日志提取,方便后面分析
windows常用的快捷鍵
Win+r services.msc 打開本地服務 win+r 輸入eventvwr.exe 事件查看器 Win+r 輸入secpol.msc 打開本地安全策略 win+r 輸入dxdiag 查看電腦配置 win+r 輸入regedit 查看注冊表 win+r 輸入sysdm.cpl 查看系統屬性 win+r 輸入 msinfo32 查看系統信息 win+r osk 打開屏幕鍵盤 win+r calc 打開計算器 win+r taskmgr 任務管理器
二、windows下的文件簡介
1、我們必須要知道的兩個文件 一個是SAM是存儲加密過的系統帳號的密碼文件。

該文件被系統占用無法打開,但PE系統下能操作管理員密碼,也可以通過mimikatz、powershell腳本、PwDum7.exe等一些利用工具獲取。

另一個核心文件為hosts文件,相當于本地的小型DNS,定義了域名和IP。

部分內容如下圖所示

2、Program files/Program files(x86)文件夾
操作系統各種程序默認安裝到的目錄,包括32位和64位。

其文件夾包括:Common Files(提供程序中的一些共享配置文件)、 Internet Explorer(網絡瀏覽器)、NetMeeting(網絡聊天軟件)、Microsoft office(辦公軟件集合)、Windows Media Player(媒體播放器)等。

3、ProgramData文件夾
C盤的一個系統文件夾(隱藏),它是公用的被創建文件夾或文件存放的地方,由創建者完整控制,程序運行或啟動生成的臨時文件通常存放該目錄,電腦病毒也比較喜歡感染該目錄。

4、FileRec文件夾
存放系統賬號相關的文件或文件夾該目錄是信息深入收集所必須查找的目錄,包括桌面、我的文檔等敏感信息或文件。

三、windows下的常見端口
端口號的范圍是從1~65535。其中1~1024已經定義好了被稱為靜態端口,從1025~65535的端口被稱為動態端口可用來建立與其它主機的會話,也可由用戶自定義用途。
21端口:FTP 文件傳輸服務 22端口:SSH 端口 23端口:TELNET 終端仿真服務 25端口:SMTP 簡單郵件傳輸服務 53端口:DNS 域名解析服務 80端口:HTTP 超文本傳輸服務 110端口:POP3 “郵局協議版本3”使用的端口 443端口:HTTPS 加密的超文本傳輸服務 1433端口:MS SQL*SERVER數據庫 默認端口號 1521端口:Oracle數據庫服務 1863端口:MSN Messenger的文件傳輸功能所使用的端口 3306端口:MYSQL 默認端口號 3389端口:Microsoft RDP 微軟遠程桌面使用的端口 5631端口:Symantec pcAnywhere 遠程控制數據傳輸時使用的端口 5632端口:Symantec pcAnywhere 主控端掃描被控端時使用的端口 5000端口:MS SQL Server使用的端口 8000端口:騰訊QQ
注冊表修改3389端口
1.HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWdsrdpwdTdstcp下的PortNumber=3389改為自定義的端口號 2.HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp下的PortNumber=3389改為自定義的端口號
修改3389為你想要的數字(在十進制下)----再點16進制(系統會自動轉換)----最后確定!這樣就ok了。
這樣3389端口已經修改了,但還要重新啟動主機,這樣3389端口才算修改成功!如果不重新啟動3389還是修改不了的!重起后下次就可以用新端口進入了!
四、注冊表
注冊表是Windows操作系統中的一個核心數據庫,其中存放著各種參數,直接控制著Windows的啟動、硬件驅動程序的裝載以及一些Windows應用程序的運行,從而在整個系統中起著核心作用,一一般我們電腦中病毒木馬后都會進行注冊表查找以及清除操作。


五、Powershell
PowerShell 可以簡單的理解為 cmd 的高級版,cmd 能做的事在 PowerShell 中都能做,但 PowerShell 還能做很多 cmd 不能做的事情。
PowerShell 內置在 Windows 7、Windows Server 2008 R2 及更高版本的 Windows 系統中,同時 PowerShell 是構建在 .NET 平臺上的,所有命令傳遞的都是 .NET 對象。
一使用 Get-ExecutionPolicy命令查看當前執行策略
1、Restricted:不能運行腳本 2、RemoteSigned:本地創建的腳本可以運行,但從網上下載的腳本不能運行(除非它們擁有由受信任的發布者簽署的數字簽名) 3、AllSigned:僅當腳本由受信任的發布者簽名才能運行。 4、Unrestricted:腳本執行不受限制,不管來自哪里,也不管它們是否有簽名。 5、使用Set-ExecutionPolicy <policy name>設置執行策略,該命令需要管理員權限
六、NTFS安全權限
文件系統概述:文件系統即在外部存儲設備上組織文件的方法(格式化的一種方式)
常見的文件系統:
①FAT windows ②NTFS windows ③EXT linux常見
NTFS的特性
1、提高磁盤讀寫性能 2、加密文件系統 3、訪問控制列表(設置權限) 4、磁盤利用率(壓縮、磁盤配額) 5、支持單個文件大于4個G
七、windows安全日志
成功審核

事件ID

八、用戶與組管理
1、SID 安全標識符 每個賬戶有自己的SID 類似身份zheng號 2、Administrator UID是500 3、普通用戶是1000開始 4、賬戶和密碼存儲的位置:c:\windiows\sysytem32\config\SAM #暴力猜解 算法 hash 5、Window系統上,默認密碼最長有效期42天 6、net localgroup administrator 查看該組成員 7、把其他用戶加入管理員組 net localgroup administrator 用戶名 /add --刪除 del
九、批處理編寫
批處理的作用:自上而下成批的處理每一個命令 就算有些命令執行不了也會執行下一條命令
pause 暫停,后面有其他的命令也不執行 主要是批處理執行很快,看不見效果
例如 寫一個垃圾清理bat 只要知道垃圾在哪些地方產生 進入刪除就行了
@echo off color 0a --更改顏色 title clear laji program --title修改標題 echo================ --輸出 echo clear your system laji echo 如果被攔截 echo 請放行 echo================ pause --停止 echo. --echo. 加一個點是空一行 echo 正在清理中。。。。。 g: >nul 2>nul; //>nul 2>nul功能是錯誤的正確的啥也不顯示 屏蔽 cd \ >nul 2>nu; ping –n 10 127.0.0.1 >nul 2>nul --ping 延遲10個包 >nul 2>nu; 不提示 echo congratulations!!!!! 垃圾清理完畢! pause --停止
if 語句 因為有些bat不顯示過程 所以用if提示 如果執行成功后輸出提示
:冒號的用法 定義一個命令區間 例如 :1 :2 :XXXX //隨便寫 給區間取名字 :不是命令 但系統會識別
//其實:定義區間也是從上到下執行 主要還是和 go to 一起組合使用
go to 跳轉
冒號和 go to 組合寫一個簡單病毒 qq.bat :d start --start 后面可以什么都不寫 go to d
開機自啟
copy qq.bat(腳本) “啟動路徑“ --%userprofile% 代替用戶
d:
start
goto d
變量的基本用法
@echo off --關閉回顯功能也就是屏蔽過程。 title 小程序v1.0 :menu cls echo ================ echo 菜單 echo 1、定時關機 echo 2、取消定時 echo 3、退出 echo ================ set /p num=您的選擇:--設置變量 ,常用與在腳本中互動賦值 if “%num%” == ”1” goto 1 if “%num%” == ”2” goto 2 if “%num%” == ”3” goto 3 echo 別鬧,好好輸入。只能輸入\1\2\3 pause :1 set /p a= 請輸入時間(單位/秒) -- /p擴展(選項) a是變量 shutdown –s -f –t %a% goto menu :2 shutdown –a goto menu :3 exit
--互動賦值:set /p time+請輸入時間
引用變量:%temp%
如果他執行2 我們在他開始使用菜單里生成一個惡意腳本
:2 echo :a >> ”系統啟動路徑\hah.bat” echo start >> ”系統啟動路徑\hah.bat” echo goto a >> ”系統啟動路徑\hah.bat” --hah.bat是生成腳本的名字
把腳本弄到啟動菜單里
1、copy 2、echo 3、ntsd –c q –pn winlogon.exe --只針對xp 2003的藍屏命令,強制殺死指定進程。但是又不能殺結果就是藍屏 taskkill /im /f 進程ID taskkill /im /f explorer.exe 殺死桌面 ping –n 10 127.0.0.1 >nul 2>nul --停止十秒,其實就是ping 十個包 >nul 2>nul 不顯示
十、PKI
1、PKI概述
名稱:公鑰基礎設施 作用:通過加密技術和數字簽名保證信息安全 組成:公鑰加密技術、數字證書、CA、RA
2、信息安全三要素
機密性 完整性 身份驗證/操作的不可否認性
3、哪些IT領域用到PKI:
1)SSL/HTTPS 2) IPsec VPN 3) 部分遠程訪問VPN
4、公鑰加密技術
作用:實現對信息加密、數字簽名等安全保障
加密算法:
1)對稱加密算法(加解密密鑰一致) DES 3DES AES 2)非對稱加密算法(通信雙方各產生一對公私鑰,各自交換公鑰、公鑰和私鑰互為加解密關系) RSA DH
數字簽名:用自己的私鑰對摘要加密得出的密文就是數字簽名。
十一、AD域
Domain:域是計算機網絡的一種形式,其中所有用戶賬戶,計算機,打印機和其他安全主體都在位于稱為域控制器的一個或多個中央計算機集群上的中央數據庫中注冊。
具體參考:
https://blog.csdn.net/weixin_51446936/article/details/121416834
十二、winows加固
https://blog.csdn.net/weixin_44268918/article/details/120834329
linux操作系統
一、各種linux虛擬機忘記密碼
1、紅帽忘記密碼修改root密碼
1 在重啟的時候 e 進入 2 在linux16 后面找到UTF-8 在后面加 rd.break 然后ctrl+x 3 這時候可以輸入mount 看一下 會發現根為 /sysroot/ 沒有w權限,只有ro權限 4 輸入 mount -o remount,rw /sysroot/ 重新掛載,就有rw權限 5 改變根 chroot /sysroot/ 6 echo “密碼" | passwd --stdin root 設置密碼 7 使 seliunx 生效 touch /.autorelabel 8 exit 9 reboot 10 切換ROOT用戶登陸
2、centOS 6 修改密碼
1 e 進入 2 選擇第二個 kernel 3 在 quiet 后面 加 1 然后回車 4 b 5 進去passwd 就可以修改密碼了
3、RedHat init 修改密碼
1 啟動RedHat ,進入后 e 進入編輯。 2 光標往下,找到以 linux16開頭 ro改成 rw UTF-8結尾的參數行,并在UTF-8后面加 init=/bin/sh 3 輸入init=/bin/sh 后,按 ctrl+x 4 進入下圖界面 5 這時候我們可以mount看一下,有rw 權限,我們就省去重新掛載步驟。(看不見,沒有回顯, 自己輸入,盡量正確) 6 這個時候我們就可以輸入下面的語句設置自己的密碼 echo “wll” | passwd --stdin root(看不見,沒有回顯, 自己輸入,盡量正確) 7 顯示成功 輸入touch /.autorelabe(看不見,沒有回顯, 自己輸入,盡量正確) 8 輸入 exec /sbin/init 重啟 9.重啟成功
4、Kali 重新設置密碼(有些版本可能界面會不一樣,但是操作大同小異)
1)在grub界面按e進入*Advaced options for kali GNU/Linux

2)編輯模式 下找到 "Linux "開頭的那行修改ro 修改為 rw 添加 init=/bin/bash 修改完按 F10


3)保存后,輸入passwd重置密碼


5、Ubuntu 重置密碼
長按shift或者ese進入grub,選擇高級選項回車

選擇版本較高的recovery mode

按下e后進入如下界面,找到linux /boot/vmlinuz-…ro recovery nomodeset 所在行。找到recovery nomodeset并將其刪掉,再在這一行的最后面(dis_ucode_ldr后面)輸入quiet splash rw init=/bin/bash

輸入passwd,修改密碼成功

二、linux下的文件說明
home 普通用戶的目錄 dev 以文件形式存放的接口.一些設備 ,光盤 硬盤 boot 放開機所需要的東西 etc 放置一些配置文件 sbin 用來存放用于管理員使用的存儲二進制系統程序文件 lib 開機使用的一些函數庫 proc 虛擬文件系統 網絡狀態,進程 usr 放用戶自己使用的 var 主要存放一些經常變化的文件日志之類的 losd +found 當文件系統發生錯誤的時候,將一些遺失的片段放置到這里面 media 掛載設備文件 mnt 提供給用戶的用于掛在別的文件系統 opt 放第三方軟件 tmp 臨時文件 任何人都可以共享的臨時目錄


拓展:12位的權限表示法

三、linux常用命令(無序)
1、關機重啟
關機 命令 shutdown poweroff -f init 0 重啟 命令 reboot init 6 sleep 2 | init 0 設置兩秒后關機 注銷 logout
2、useradd 添加一個用戶
userdel –r sss 這個是刪除用戶 -r 是連家目錄一起刪除 添加賬戶u1,為其指定附加組g1,并設置2013-04-04賬戶到期 useradd -G g1 -e 2013-04-04 u1 添加賬戶u2,為其指定id號為1000 useradd -u 1000 u2 把u1 u2 添加到g2組 gpasswd -a u1 g2 gpasswd -a u2 g2 如何刪除g2組的用戶u gpasswd -d u g2 如何查看u2的uid gid id u2
3、切換工作目錄
/ 根目錄 ~家目錄 ..上一級目錄 - 上一次所在的目錄
4、下載東西
wget 后面跟地址 wget –c –P (指定的路徑) http://wwww -P 指定下載目錄 -c 斷網后鏈接網絡后續傳 - r 下載整個文件 -b 后臺下載
5、查看所有進程
PS aux 或者 top –d 2 a顯示所有 u詳細信息 x沒有終端
6、結束進程
知道一個進程的id 可以用kill 1323(id)干掉 干不掉的用九殺 kill -9 1323
當前內核的版本信息 還有版本號
uname -a
7、查看當前版本的詳細信息

8、查看歷史命令
history 查看歷史命令 history –c 清除歷史紀錄 tab 可以補全 history 7 查詢7的歷史 !7執行歷史7的命令
9、查看登陸過系統的信息
last
10、查看文件內容
cat -n 是顯示行號 查看前幾行 例如前四行 head(要看的東西名字)–n 4 查看后幾行 例如后四行 tail (要看的東西名字) -n 4 有一些需要查看的 直接在后面先添加 - 8 這樣的數字看行不行
11、替換文件中的字符 tr

12、統計字符的數量
-l 顯示行數 -w 統計單詞數 -c 字節數

13、查看當前文件被修改
stat 文件名

touch –d “時間 ” 文件名 修改最近一次訪問和最近一次
14、按列提取文本字符
cut –d: -f1 文件名 -d: 以 :為分割 -f1 是第一列

15、壓縮與解壓縮
rar a file1.tar test_file 創建一個“file1.rar”文件包 rar a file1.rar file1 file2 dir1 同時壓縮'file1','file2'以及目錄'dir1' rar x file1.rar 解壓rar包 unrar x file1.rar 解壓rar包 tar -cvf archive.tar file1 創建一個非壓縮的 tarball tar -cvf archive.tar file1 file2 dir1 創建一個包含了 'file1', 'file2' 以及 'dir1'的檔案文件 tar -xvf file1.tar -C /tmp 將壓縮包釋放到 /tmp目錄下 tar -xvfz archive.tar.gz 解壓一個gzip格式的壓縮包 zip file1.zip file1 創建一個zip格式的壓縮包 unzip file1.zip 解壓一個zip格式壓縮包 zip -r file1.zip file1 file2 dir1 將幾個文件和目錄同時壓縮成一個zip格式的壓縮包
16、find 查找文件(linux三劍客可以自己去百度搜)
find / -name ssh 從根目錄開始查找ssh 的文件
find /-atime +1 一天內訪問的
find / -size +50kB 找大小超過50kb的文件
find / -perm 4000 可以找到特殊權限的文件
搜索玩后繼續執行命令
find / aaa.txt –exec {} \; {} 搜索出來的文件都在里面 {} \兩個中間有空格
17、 改變文件的權限
chomd
四、SUID、SGID、Sbit
1、SUID
兩個平級的用戶 一個用戶可以暫時
把執行 x 變 s 短暫擁有root的權限 chmod u+s /usr/bin/cat


先給一個命令設置SUID chmod u+s /usr/bin/find 給find 設置SUID 接下來 ls 看一下有哪些文件 在find 1.txt(文件) –exec whoami \; . whoami 可以改成 useradd aaa
2、SGID操作
先 cd/ echo “1111” > 2.txt ll 2.txt chmod 070 2.txt ll 2.txt . useradd ww su ww cat 2.txt exit chmod g+s /bin/cat . su ww cat 2.txt
3、sbit保護位(只能作用于目錄)
Sbit 意識就是在一個共享的文件下我們都可以訪問并可以刪除里面的文件,這時候我們給文件sbit 別人就不能刪除了 chmod o+t 目錄

五、橋接模式下設置靜態IP
先把網絡適配器改成橋接 選中物理地址 在從編輯里找到虛擬網絡編輯器 ,改為橋接模式,(這個時候虛擬機和windows就是兩個獨立的)先從windows里面 ipconfig 看一下自己的IP地址 子網掩碼 網關 然后ping 一個和ip地址在同一個網段的 看有人用沒有
接下來
直接修改eth3(想要修改的網卡的名稱)
1cd /etc/sysconfig/network-scrips/ 網卡都是放著這下面 2ls 網卡名字 vim 網卡名字 3進去后把 ONBOOT(開機自啟)改為 yes BOOTPROTO 改為 static 4設置 IPADDR(和windows 在一個網段) NETMASK(一樣) GATEWAY(最后是1 其他的都一樣) (這里可以設置DNS1=114.114.114.114 DNS2=8.8.8.8 LINUX 一般都是三個自己隨便弄一個) 5:wq 保存退出 6Ifconfig 看一下 7service network restart 重啟服務 8. ping 144.144.144.144 ping通就能上網了
六、Nat 模式
先把網絡適配器改nat 再從編輯里找到虛擬網絡編輯器 ,改為nat模式,(這個時候虛擬機和windows就是兩個獨立的)先從windows里面 ipconfig 看一下自己的IP地址 子網掩碼 網關 然后ping 一個和ip地址在同一個網段的 看有人用沒有
接下來
直接修改eth3(想要修改的網卡的名稱)
cd /etc/sysconfig/network-scrips/ 網卡都是放著這下面 ls 網卡名字 vim 網卡名字 進去后把 ONBOOT(開機自啟)改為 yes BOOTPROTO 改為 dhcp :wq 保存退出 ifconfig 看一下 service network restart 重啟服務 ping 144.144.144.144 ping通就OKle
七、安裝本地yum 源
1先看網絡通沒 ping www.baidu.com 2如果不通 配置網卡 通就跳過這個步驟 3在虛擬機哪里看一下是不是掛載ios 并勾上已連接 4df –h 查看一下 5cd /media/ 6mkdir cdrom(這個文件隨便創建) 7mount /dev/sr0 /media/cdrom 8cd /media/cdrom 9ls 10cd /etc/yum.repos.d/ 11rm packagekit-media.repo (有就刪除,沒有就算了) 12touch yum.repo (這里創建的文件隨便,但是要有.repo這個后綴) 13vim yum.repo 14進去后插入 [name] name= mylocalyum (這個是對名字一個解釋) baseurl=file:///media/cdrom (這是本機yum源的地址,可以配置網上的,但是可能有注冊) enable=1 gpgcheck=0 :wq 退出 15yum clean all 是清除緩存 16yum list | wc –l 17yum repolist all 查看完成 ,顯示啟動
八、iptables 的一些參數(通過控制端口來控制服務)
-F 清空所有規則鏈 -L 是查看當前防火墻策略 -D 刪除一條策略 Iptables –D INPUT 1 (想要刪除那個 就寫幾) -I 把想要放的策略放在前面 例如 iptables –I INPUT –p icmp –j DROP -j 告訴策略怎么做 -P 默認策略規則 -p 匹配的協議 --dprot 匹配端口 - -dport 10:80 這樣可以把10到80 的端口都過濾掉 -s 指定IP網段
如果想要拒絕鏈接 除了配置外 還可以
先拒絕 所有TCP 協議的策略 或者說是相關的一些協議的策略
Inptabels –I INPUT –p tcp - -dport 22 –j REJECT
這時候就連不上了
想要連上設置
Inptables –I INPUT –s 192.168.80.0/24 –p tcp --dport 22 –j ACCEPT
上面這些重啟就失效了如果要永久的
service iptables save 保存一下
九、firewall(通過協議來控制服務)
查看所有的模板

查看當前模板有哪些信息
firewall-cmd --list-all
改成默認

給接口改區域

流量轉發例如吧防火墻的22 端口 映射到888端口

添加一個富規則
firewall-cmd - - zone=public –add-rich-rule=”rule family=”ipv4 ” source address=”192.167.52.0/24” service name=”ssh “ reject”
十、shell腳本編寫
https://blog.csdn.net/weixin_43705953/article/details/119137570
十一、linux加固
https://www.cnblogs.com/pythonal/p/9242043.html