House of Force

рд╕реАрдЦреЗрдВ рдФрд░ рдкреНрд░реИрдХреНрдЯрд┐рд╕ рдХрд░реЗрдВ AWS рд╣реИрдХрд┐рдВрдЧ: HackTricks рдкреНрд░рд╢рд┐рдХреНрд╖рдг AWS рд░реЗрдб рдЯреАрдо рдПрдХреНрд╕рдкрд░реНрдЯ (ARTE) рд╕реАрдЦреЗрдВ рдФрд░ рдкреНрд░реИрдХреНрдЯрд┐рд╕ рдХрд░реЗрдВ GCP рд╣реИрдХрд┐рдВрдЧ: HackTricks рдкреНрд░рд╢рд┐рдХреНрд╖рдг GCP рд░реЗрдб рдЯреАрдо рдПрдХреНрд╕рдкрд░реНрдЯ (GRTE)

рд╣реИрдХрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

рдореВрд▓рднреВрдд рдЬрд╛рдирдХрд╛рд░реА

рдХреЛрдб

рд▓рдХреНрд╖реНрдп

  • рдЗрд╕ рд╣рдорд▓реЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрддреЗ рдкрд░ рдПрдХ рдЪрдВрдХ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрддреА рд╣реИред

рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ

  • рдПрдХ рдУрд╡рд░рдлреНрд▓реЛ рдЬреЛ рд╢реАрд░реНрд╖ рдЪрдВрдХ рд╣реЗрдбрд░ рдХрд╛ рдЖрдХрд╛рд░ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдЙрджрд╛ред -1)ред

  • рд╣реАрдк рдЖрд╡рдВрдЯрди рдХрд╛ рдЖрдХрд╛рд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрдирд╛

рд╣рдорд▓рд╛

рдпрджрд┐ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдХрд┐рд╕реА рдкрддреЗ P рдкрд░ рдПрдХ рдЪрдВрдХ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣рд╛рдБ рдХрд╛ рдХреЛрдИ рдорд╛рди рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рд╡рд╣ -1 рдХреЗ рд╕рд╛рде рд╢реАрд░реНрд╖ рдЪрдВрдХ рдХрд╛ рдЖрдХрд╛рд░ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ (рд╢рд╛рдпрдж рдПрдХ рдУрд╡рд░рдлреНрд▓реЛ рдХреЗ рд╕рд╛рде)ред рдЗрд╕рд╕реЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ malloc рдХрд┐рд╕реА рднреА рдЖрд╡рдВрдЯрди рдХреЗ рд▓рд┐рдП mmap рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╢реАрд░реНрд╖ рдЪрдВрдХ рдореЗрдВ рд╣рдореЗрд╢рд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрдерд╛рди рд╣реЛрдЧрд╛ред

рдлрд┐рд░, рд╢реАрд░реНрд╖ рдЪрдВрдХ рдХреЗ рдкрддреЗ рдФрд░ рд▓рдХреНрд╖реНрдп рд╕реНрдерд╛рди рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрд╡рдВрдЯрди рдХреЗ рд▓рд┐рдП рдЙрд╕ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рде malloc рдХрд┐рдпрд╛ рдЬрд╛рдП рдЬрд┐рд╕рд╕реЗ рд╢реАрд░реНрд╖ рдЪрдВрдХ рдХреЛ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рдпрд╣ рдЕрдВрддрд░/рдЖрдХрд╛рд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдЧрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

// From https://github.com/shellphish/how2heap/blob/master/glibc_2.27/house_of_force.c#L59C2-L67C5
/*
* The evil_size is calulcated as (nb is the number of bytes requested + space for metadata):
* new_top = old_top + nb
* nb = new_top - old_top
* req + 2sizeof(long) = new_top - old_top
* req = new_top - old_top - 2sizeof(long)
* req = target - 2sizeof(long) - old_top - 2sizeof(long)
* req = target - old_top - 4*sizeof(long)
*/

рдЗрд╕рд▓рд┐рдП, target - old_top - 4*sizeof(long) рдХрд╛ рдЖрдХрд╛рд░ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ (4 longs рдХреНрдпреЛрдВрдХрд┐ рд╢реАрд░реНрд╖ рдЪрдВрдХ рдФрд░ рдирдП рдЪрдВрдХ рдХреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рдХрд╛рд░рдг) рд╢реАрд░реНрд╖ рдЪрдВрдХ рдХреЛ рд╣рдореЗрдВ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд┐рд░, рд▓рдХреНрд╖реНрдп рдкрддреЗ рдкрд░ рдПрдХ рдЪрдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдореИрд▓реЛрдХ рдХрд░реЗрдВред

рд╕рдВрджрд░реНрдн рдФрд░ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг

  • рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХрд╛ рд▓рдХреНрд╖реНрдп рдПрдХ ret2win рд╣реИ рдЬрд╣рд╛рдВ рд╣рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрддрд╛ рдореЙрдбрд┐рдлрд╝рд╛рдп рдХрд░рдирд╛ рд╣реИ рдЬрд┐рд╕реЗ рд░рд┐рдЯ2рд╡рд┐рди рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛

  • рдмрд╛рдЗрдирд░реА рдореЗрдВ рдПрдХ рдУрд╡рд░рдлреНрд▓реЛ рд╣реИ рдЬрд┐рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд╢реАрд░реНрд╖ рдЪрдВрдХ рдХрд╛ рдЖрдХрд╛рд░, рдЬреЛ -1 рдпрд╛ p64(0xffffffffffffffff) рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

  • рдлрд┐рд░, рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░ рдХрд╛ рдкрддрд╛ рдЬрд╣рд╛рдВ рдУрд╡рд░рд░рд╛рдЗрдЯ рд╣реЛрдирд╛ рд╣реИ, рдФрд░ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд╛рди рд╕реЗ рд╡рд╣рд╛рдВ рд╢реАрд░реНрд╖ рдЪрдВрдХ рдХреА рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ malloc рдХреЗ рд╕рд╛рде рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ

  • рдЕрдВрдд рдореЗрдВ рдПрдХ рдирдпрд╛ рдЪрдВрдХ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рд╡рд╛рдВрдЫрд┐рдд рд▓рдХреНрд╖реНрдп рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд░рд┐рдЯ2рд╡рд┐рди рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

  • рдЕрдкрдирд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ: рдореЗрдВ рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрдордЬреЛрд░реА рд╣реИ рдЬреЛ рд╣реАрдк рд╕реЗ рдПрдХ рдкрддрд╛ рд▓реАрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ

  • рдлрд┐рд░ Org: рдФрд░ Host: рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ org name рдХреЗ рд▓рд┐рдП рдкреВрдЫрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ 64B рдХреА s рдкреЙрдЗрдВрдЯрд░ рднрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЬреЛ рд╕реНрдЯреИрдХ рдореЗрдВ v2 рдХреЗ рдкрддреЗ рдХреЗ рдмрд╛рдж рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдирд┐рд░реНрджрд┐рд╖реНрдЯ host name рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░, strcpy рдХрд╛ рдЙрд╕ рд╕рд╛рдордЧреНрд░реА рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдПрдХ 64B рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдЯреБрдХрдбрд╝реЗ рдореЗрдВ рдХреЙрдкреА рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд╕реЗ рд╢реАрд░реНрд╖ рдЪрдВрдХ рдХрд╛ рдЖрдХрд╛рд░ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ host name рдХреЗ рднреАрддрд░ рдбреЗрдЯрд╛ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИред

  • рдЕрдм рдЬрдм рд╡рд┐рдЪрд╛рд░рд╛рддреНрдордХ рд▓реЗрдЦрди рд╕рдВрднрд╡ рд╣реИ, рддреЛ atoi's GOT рдХреЛ printf рдХреЗ рдкрддреЗ рдкрд░ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рд╕реЗ IO_2_1_stderr рдХрд╛ рдкрддрд╛ рд▓реАрдХ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛ %24$p рдХреЗ рд╕рд╛рдеред рдФрд░ рдЗрд╕ libc рд▓реАрдХ рдХреЗ рд╕рд╛рде atoi's GOT рдХреЛ рдлрд┐рд░ рд╕реЗ system рдХреЗ рдкрддреЗ рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдиреЗ рдФрд░ /bin/sh рдХреЗ рд░реВрдк рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдереА

  • рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рдзрд┐ рдЗрд╕ рдЕрдиреНрдп рд▓реЗрдЦ рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреА рдЧрдИ, free рдХреЛ puts рдХреЗ рд╕рд╛рде рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ atoi@got рдХрд╛ рдкрддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рдореБрдХреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рддрд╛рдХрд┐ рдпрд╣ рд▓реАрдХ рд╣реЛ рдФрд░ рдЗрд╕ рд▓реАрдХ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ atoi@got рдХреЛ system рдХреЗ рд╕рд╛рде рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдиреЗ рдФрд░ /bin/sh рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдереАред

  • рдПрдХ UAF рд╣реИ рдЬреЛ рдПрдХ рдЪрдВрдХ рдХреЛ рдкреБрдирдГ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдмрд┐рдирд╛ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рд╕рд╛рдл рдХрд┐рдП рд╣реБрдП рдореБрдХреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдкрдарди рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВ, рдЗрд╕рд╕реЗ рдПрдХ libc рдкрддрд╛ рд▓реАрдХ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдЬреЛ рдЧреЛрдЯ рдореЗрдВ рдореБрдлреНрдд рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рд▓рд┐рдЦрдиреЗ рдФрд░ рдлрд┐рд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрдарди рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред

  • рдлрд┐рд░, рдлреЛрд░реНрд╕ рдХрд╛ рдШрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (UAF рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдмрд╛рдПрдВ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХрд╛ рдЖрдХрд╛рд░ рдПрдХ -1 рдХреЗ рд╕рд╛рде рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЪрдВрдХ рдмрдбрд╝рд╛ рдкрд░реНрдпрд╛рдкреНрдд рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдХреНрдд рд╣реБрдХ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдлрд┐рд░ рдПрдХ рдФрд░ рдЪрдВрдХ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдореБрдХреНрдд рд╣реБрдХ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ред рдлрд┐рд░, рд╣реБрдХ рдореЗрдВ system рдХрд╛ рдкрддрд╛ рд▓рд┐рдЦреЗрдВ, рдПрдХ рдЪрдВрдХ рдореЗрдВ "/bin/sh" рд▓рд┐рдЦреЗрдВ рдФрд░ рдЕрдВрдд рдореЗрдВ рдЙрд╕ рддреБрдХрдбрд╝реЗ рдХреЛ рдЙрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдореБрдХреНрдд рдХрд░реЗрдВред

Last updated