Syscalle w XP i pewne ciekawostki
lipiec 6th, 2007Hi,
Natrafiłem wczoraj na pewne ciekawostki związane z tablicą syscalli jądra (KiServiceTable) w XP.
Pierwszą sprawą jest syscall NtEnumerateBootEntries który w tablicy pojawia się 6 (słownie: sześć) razy, na pozycjach 9h, 46h, 8Ch, 8Dh, D3h oraz D4h. Co ciekawe, lister syscalli by omega_red pokazuje (u niego) w tych miejscach syscall NtSetBootOptions.
Jeszcze ciekawsze jest to, że w podanych wyżej miejscach wg. listy syscalli na metasploit project znajdują się kolejno:
- 9h NtAddBootEntry
- 8Ch NtQueryBootEntryOrder
- 8Dh NtQueryBootOptions
- D3h NtSetBootEntryOrder
- D4h NtSetBootOptions
Na pozycji 46h znajduje się faktycznie NtEnumerateBootEntries.
Z początku myślałem że to coś nie tak u mnie z kernelem/symbolami, ale po kilku kolejnych testach na wirtualnych maszynach (+windbg) oraz poproszeniu kilku osób (thx omeg, fr3 & deus) o ich kernele / testy wyszło że faktycznie tak po prostu jest.
Jeśli chodzi o inne różnice między listą syscalli Metasploit Project, to:
- 15h, wg symboli NtModifyBootEntry, wg Metasploit Project NtCancelDeviceWakeupRequest
- 3Dh, wg symboli NtModifyBootEntry, wg Metasploit Project NtDeleteBootEntry
- EFh, wg symboli NtQuerySystemEnvironmentValueEx, wg Metasploit Project NtSetSystemEnvironmentValueEx
Wygląda więc na to że NtModifyBootEntry pojawia się również więcej niż raz.
Ciekawe z czego te różnice wynikają. I dlaczego niektórych syscalli jest tak dużo, a innych “brakuje”.
K tyle. G.C.
Recently
Archives
Categories
