# Limpeza de Logs

### Arquivos de Log

| ARQUIVO                       | DESCRIÇÃO                                                           |
| ----------------------------- | ------------------------------------------------------------------- |
| `/var/logs`                   | Diretório onde pode encontrar diversos tipos de Logs                |
| `/var/log/auth.log`           | Logs de falha e sucesso de autenticações em serviços SSH, sudo, etc |
| `/var/log/syslog`             | Todos os logs que o SysLog registra                                 |
| `/var/log/messages`           | Mensagens                                                           |
| `/var/log/apache2/access.log` | Log de acesso do Apache                                             |
| `/var/log/apache2/error.log`  | Log de erros do Apache                                              |

### Limpando Logs

Para limpar logs, geralmente é preciso ter privilégios root. Abaixo segue um comando para remover todos os logs que contém determinado IP

```bash
grep -v '<ip>' </path/to/access_log> > a && mv a </path/to/access_log>
```

**OBS.:** Atente-se ao `.` (ponto) no IP, pois o `grep` pode tratar esse ponto como uma expressão regular

### Lendo Logs

Alguns logs são salvos como binários e não como arquivos de texto. O que pode dificultar um pouco o manuseio dos mesmos. Para ler esses arquivos, não utilize `cat`, mas sim comandos como: `who`, `last` e `lastlog`

```bash
who /var/log/wtmp
```

### Limpando Histórico de Comandos

Por padrão o arquivo que armazena o histórico de comandos é o `~/.bash_history`, porém este pode ser alterado. Verifique nas variáveis de ambiente com o comando `echo $HISTFILE` para saber onde esse arquivo se localiza.\
Agora para limpar o histórico, basta executar o comando abaixo:

```bash
cat /dev/null > ~/.bash_history
# ou
cat /dev/null > `echo $HISTFILE`
```

{% hint style="info" %}
Caso queira que o SO não armazene mais histórico de comandos, execute o comando `export HISTSIZE=0`
{% endhint %}

### Removendo Arquivos de Maneira Segura

Desse modo, não irá deixar rastros

```bash
shred -zu <file>
```

### Meterpreter

Quando estiver com acesso ao Meterpreter, execute:

```bash
irb
log = client.sys.eventlog.open('system')
log.clear
```

### BadAttachK

Caso não tenha o BadAttack compilado, entre no diretório onde está o arquivo `badattachk-0.3r2.c` e digite:

```bash
gcc -Wall -D_DEBUG badattachk-0.3r2.c -o badattach
```

Agora para limpar os logs do seu usuário em `/var/log/auth.log`, digite:

```bash
./badattach 'ps -C syslogd -o pid='
```

**OBS.:** Caso dê erro, troque o `'` por `´`

### Limpando um USB Contra Rastros

Primeiro verifique a partição do USB com um dos comando abaixo:

```bash
dmesg
tail -f /var/log/syslog
```

### Removendo Logs de Usuário

Execute o seguinte comando para remover Logs de determinado usuário em `/var/log/wtmp`:

```bash
./logcleaner-ng -w /var/log/wtmp -u <usuario> -r root
```

Desmonte o USB com `sudo umount /dev/<partition>`, que geralmente é um `sda`.\
Agora vamos escrever "zeros" no USB com o comando

```bash
sudo dd if=/dev/zero of=/dev/<partition> bs=1k count=2048 status=progress
```

Depois escrevemos um novo sistema de arquivos no dispositivo

```bash
sudo mkfs.ext4 -L "NameOfVolume" /dev/<partition>
```

**OBS.:** Utilize `ntfs` ou `vfat` para trabalhar futuramente com Windows


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mysther.gitbook.io/knowledge-base/sistemas-operacionais/linux/limpeza-de-logs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
