① 在linux下使用緩沖區溢出提權
看安全網站,很多被牆了的安全網站都有全套的資料。
不過,Linux 的更新速度很快,而且軟體差異導致的漏洞也不同。所以找到了漏洞攻擊辦法後,你還要找針對的 Linux 版本、以及要求的設置才能實現漏洞攻擊過程。
--------------------
醒醒,Linux 沒有 admin 這種管理員 ID 。
印象里一般也沒有 guest 的來賓 ID 。
② linux su和sudo命令的區別
su命令的全稱就是switch user,其意思就是切換用戶身份,使得用戶可以在shell中以其他身份運行程序。除非該用戶自己是超級用戶,那麼切換用戶身份時均需要密碼。
sudo命令是允許系統管理員讓普通用戶執行一些或全部的需要root許可權的命令的工具。
③ linux udf上傳不了怎麼提權
Linux操作系統自從誕生後,其高效的處理能力和卓越的穩定性受到廣大用戶的親睞,特別是伺服器市場,Linux佔有很大的份額。俗話說:樹大招風。Linux在伺服器領域的廣泛應用使得Linux的安全也受到了前所未有的挑戰。針對Linux的滲透與攻擊手段也越來越多,滲透Linux最常見的手段就是MySQL udf提權。
眾所周知,MySQL是一款免費的、開源的資料庫伺服器軟體。其安全性也十分高,因此很多Linux廠商都將其內建在操作系統,特別是一些livecd或者liveDVD。由於MySQL在Linux上的廣泛應用,使得MySQL也成為安全界重點研究的對象,udf是MySQL的一個共享庫,通過udf創建能夠執行系統命令的函數sys_exec、sys_eval,使得入侵者能夠獲得一般情況下無法獲得的shell執行許可權。這對於伺服器來說是十分危險的。那麼入侵者究竟是怎樣獲得這個許可權的呢?換句話說是如何安裝這個函數的呢?下面我們可以演示一下
操作系統:backtrack5 r2
平台:Apache+MySQL+PHP
安裝這幾個函數,必須用到lib_mysqludf_sys.so(windows是對應的dll文件),為方便大家,我就直接作為附件上傳。lib_mysqludf_sys_0.rar下載之後,你可以選擇通過源代碼建構so文件,也可以直接復制so文件夾下的文件。
首先,開啟bt5上的Apache服務和MySQL服務,鍵入"/etc/init.d/apache2 restart"開啟Apache服務,MySQL服務可以通過開始菜單來啟動,如下圖所示:
其實,Apache也可以通過菜單啟動,上圖中的httpd的子菜單就可以啟動,我比較習慣從命令行啟動而已。
我們可以訪問127.0.0.1來查看Apache是否啟動成功,如下圖:
沒有問題,啟動成功
然後,打開終端,鍵入"mysql -uroot -ptoor"命令連接資料庫(注意,-u和-p參數後都不要帶空格),如果連接成功,將會出現mysql的提示符
緊接著,上傳lib_mysqludf_sys.so到/usr/lib/mysql/plugin,然後鍵入如下命令:
create function sys_eval returns string soname "lib_mysqludf_sys.so" (創建函數)
創建完成之後就可以通過select sys_eval("命令")執行,如下圖
執行ls命令後的結果
看到這里,你也許會說,不過就是執行了一個ls命令嗎?這有什麼大不了呢?的確,一個ls命令確實沒什麼大不了。但是這使入侵者獲得了一個執行shell的許可權,這種許可權可以執行任何可執行的文件,也就是說通過它可以為Linux安裝後門如使用nc等,而這無異於將伺服器拱手讓給他人。一般說來,伺服器會將PHP的sys_exec等函數禁用,但是udf方式繞過了這種限制,輕易獲得了shell。
說完了攻,我們來說說防。可以通過升級MySQL的版本或者禁用udf功能來實現針對udf攻擊的防禦。
④ linux提權的作用是什麼
在linux中有些命令是只有管理員可以執行的,但是如果你用管理員許可權登陸系統的話,有可能一個微小的錯誤可以讓系統崩潰,所以一般默認用普通用戶登陸;但是如果普通用戶想要執行某些操作切換用戶的話就會很麻煩,所以就有了提升許可權的說法,這樣普通用戶就可以在自己的用戶下執行某些高級許可權操作,而且同時其賬戶又具有普通用戶對整個系統影響有限的好處。
⑤ 怎麼linux sudo本地提權漏洞修復漏洞
打開騰訊電腦管家——工具箱——修復漏洞,進行漏洞掃描和修復。
建議設置開啟自動修復漏洞功能,開啟後,電腦管家可以在發現高危漏洞(僅包括高危漏洞,不包括其它漏洞)時,第一時間自動進行修復,無需用戶參與,最大程度保證用戶電腦安全。尤其適合老人、小孩或計算機初級水平用戶使用。開啟方式如下:進入電腦管家「修復漏洞」模塊—「設置」,點擊開啟自動修復漏洞即可。
⑥ 普通用戶linux如何提權
1、知道root密碼的情況下可以使用su -
2、沒有root密碼的情況下,事先讓root把普通用戶加入sudoers,並分配許可權。使用sudo
⑦ Linux系統提權相關!
估計沒有什麼用處,因為即使你拿到了管理員許可權,那也只是一個PHP的root許可權。
linux對用戶許可權劃分的很清楚的,當安裝PHP後,會有一個相應的用戶在系統中生成的,就算你成功提權了,可能你會覺得是系統root的許可權,其實是個糖衣炮彈,假的
ps:SSH的漏洞現在已經修復了,而且現在人家用的比較多的也是SSH2,這個的漏洞就更少了,估計提權挺困難的
⑧ 如何編寫自己的Linux安全檢查腳本
腳本大致內容: 基本信息統計(IP地址、MAC地址、埠信息、服務信息等)、主機安全檢查(包括等保三級要求主機相關的檢查點)、系統性能統計(暫時未加入分析)、惡意代碼、程序檢查等檢查點。
腳本內容涉及到:
1、查看系統密碼文件修改時間
2、查看是否開啟了ssh服務
3、查看系統SSH遠程訪問設置策略(host.deny拒絕列表)
4、查看shell是否設置超時鎖定策略
5、查看syslog日誌審計服務是否開啟
6、查看syslog日誌是否開啟外發
7、查看passwd文件中有哪些特權用戶
8、查看系統中是否存在空口令賬戶
9、PHP、JSP、perl、Python、HTML、以及linux下可執行文件內容的檢查
裡面列舉了一些常見webshell、提權EXP、以及Python掃描工具、嗅探工具的特徵,如果發現此類相關的文件,則會顯示出來,或者拷貝一份到/tmp/目錄下
例如:能掃描到的linux下提權工具:
一共是172個文件。都可以掃描的到。。。。
其實整個腳本相對起來比較簡單,主要用到的命令為
find / -type
if語句
awk命令
more
egrep
等命令組成。
比如說awk命令,我們用more或cat命令,讀取某個文件內容,然後通過awk進行篩選和輸出,來顯示我們想要看的東西
例如:
more /etc/login.defs | grep -E "PASS_MAX_DAYS" | grep -v "#" |awk -F' ' '{if($2!=90){print "/etc/login.defs裡面的"$1 "設置的是"$2"天,請管理員改成90天。"}}'
從這里我們可以看到,通過more來打開/etc/login.defs文件,並查找關鍵字 「PASS_MAX_DAYS」, 用awk命令,篩選以」為分隔符的內容,用作判斷,如果$2第二個分隔符位置的內容不等於90,則輸出該內容。
同理,任意針對文件內容做篩選的結果,都可以通過這樣的方式去顯示我們想要顯示的內容。
又例如:
echo "查看系統中存在哪些非系統默認用戶"
echo "root:x:「該值大於500為新創建用戶,小於或等於500為系統初始用戶」"
more /etc/passwd |awk -F ":" '{if($3>500){print "/etc/passwd裡面的"$1 "的值為"$3",請管理員確認該賬戶是否正常。"}}'
echo ------------------------------------------------------------------------
if語句相關:
echo --------------------------------------------------------------------------
echo "檢查系統文件完整性2(MD5檢查)"
echo "該項會獲取部分關鍵文件的MD5值並入庫,默認保存在/etc/md5db中"
echo "如果第一次執行,則會提示md5sum: /sbin/portmap: 沒有那個文件或目錄"
echo "第二次重復檢查時,則會對MD5DB中的MD5值進行匹配,來判斷文件是否被更改過"
file="/etc/md5db"
if [ -e "$file" ]; then md5sum -c /etc/md5db 2>&1;
else
md5sum /etc/passwd >>/etc/md5db
md5sum /etc/shadow >>/etc/md5db
md5sum /etc/group >>/etc/md5db
md5sum /usr/bin/passwd >>/etc/md5db
md5sum /sbin/portmap>>/etc/md5db
md5sum /bin/login >>/etc/md5db
md5sum /bin/ls >>/etc/md5db
md5sum /bin/ps >>/etc/md5db
md5sum /usr/bin/top >>/etc/md5db;
fi
echo ----------------------------------------------------------------------
這里呢,對部分敏感文件的MD5值做了下驗證,大致思路是,先檢查 /etc/md5db 是否存在,如果不存在的話,則將所涉及文件的MD5值入庫,並保存到 /etc/md5db文件中,當我們第二次對伺服器進行檢查時,則會對比兩次的MD5值,如果MD5值發生變化,則會進行提醒。
腳本本身沒什麼復雜的東西,我先貼出部分內容,供大家參考下。
#!/bin/bash
echo " (__)"
echo " (oo)"
echo " /------\/ "
echo " / | || "
echo " * /\---/\ "
echo " ~~ ~~ "
echo "...."Are You Ready?"..."
read key
echo "警告:本腳本只是一個檢查的操作,未對伺服器做任何修改,管理員可以根據此報告進行相應的設置。"
echo ---------------------------------------主機安全檢查-----------------------
echo "系統版本"
uname -a
echo --------------------------------------------------------------------------
echo "本機的ip地址是:"
ifconfig | grep --color "\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}"
echo --------------------------------------------------------------------------
awk -F":" '{if($2!~/^!|^*/){print "("$1")" " 是一個未被鎖定的賬戶,請管理員檢查是否需要鎖定它或者刪除它。"}}' /etc/shadow
echo --------------------------------------------------------------------------
more /etc/login.defs | grep -E "PASS_MAX_DAYS" | grep -v "#" |awk -F' ' '{if($2!=90){print "/etc/login.defs裡面的"$1 "設置的是"$2"天,請管理員改成90天。"}}'
echo --------------------------------------------------------------------------
more /etc/login.defs | grep -E "PASS_MIN_LEN" | grep -v "#" |awk -F' ' '{if($2!=6){print "/etc/login.defs裡面的"$1 "設置的是"$2"個字元,請管理員改成6個字元。"}}'
echo --------------------------------------------------------------------------
more /etc/login.defs | grep -E "PASS_WARN_AGE" | grep -v "#" |awk -F' ' '{if($2!=10){print "/etc/login.defs裡面的"$1 "設置的是"$2"天,請管理員將口令到期警告天數改成10天。"}}'
echo --------------------------------------------------------------------------
grep TMOUT /etc/profile /etc/bashrc > /dev/null|| echo "未設置登錄超時限制,請設置之,設置方法:在/etc/profile或者/etc/bashrc裡面添加TMOUT=600參數"
echo --------------------------------------------------------------------------
if ps -elf |grep xinet |grep -v "grep xinet";then
echo "xinetd 服務正在運行,請檢查是否可以把xinnetd服務關閉"
else
echo "xinetd 服務未開啟"
fi
echo --------------------------------------------------------------------------
echo "查看系統密碼文件修改時間"
ls -ltr /etc/passwd
echo --------------------------------------------------------------------------
echo "查看是否開啟了ssh服務"
if service sshd status | grep -E "listening on|active \(running\)"; then
echo "SSH服務已開啟"
else
echo "SSH服務未開啟"
fi
echo --------------------------------------------------------------------------
echo "查看是否開啟了TELNET服務"
if more /etc/xinetd.d/telnetd 2>&1|grep -E "disable=no"; then
echo "TELNET服務已開啟 "
else
echo "TELNET服務未開啟 "
fi
echo --------------------------------------------------------------------------
echo "查看系統SSH遠程訪問設置策略(host.deny拒絕列表)"
if more /etc/hosts.deny | grep -E "sshd: ";more /etc/hosts.deny | grep -E "sshd"; then
echo "遠程訪問策略已設置 "
else
echo "遠程訪問策略未設置 "
fi
echo --------------------------------------------------------------------------
⑨ Linux主機用webshell怎麼提權,有地址...
傳EXP/編譯好的程序
或者各種腳本也行
->
反彈連接
->
運行提權
->
獲得root
->
創建後門
->
內網滲透如社工/sync等滲透
再看看別人怎麼說的。